Java---------本周总结(多态、选择排序、内部类)

vscode中创建vue快捷键 1.安装Vetur插件(扩展里面直接搜) 2.vscode 界面里面左上角选则 文件=> 首选项=> 用户代码片段=>新建全局代码片段=>在输入框中新建名称为vue.json 3.删除里面的注释,当然你也可以留着,把下面的代码粘贴进去! { // Place your 全局 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // descri 阅读详情

Part 1 多态

1.什么是多态,多态的前提条件?
		多态:一个事物在不同时刻体现出来的不同状态
		多态的前提条件:
			1)必须存在继承关系
			2)要有方法重写,子类需要去覆盖父类的功能!
			3)必须有父类引用指向子类对象!
					父类名 对象名 = new 子类名();  向上转型!
2.多态的成员访问特点?
		成员变量:编译看左,运行看左!
		成员方法:编译看左,运行看右!(存在方法重写!)
		静态的成员方法:编译看左,运行看左(不算方法重写,静态的东西都和类相关!)
		构造方法:分层初始化(父类先进行初始化,然后是子类初始化!)对数据进行初始化!

3.final关键字的特点? 
   final:状态修饰符,最终的,无法更改的!
   修饰类,该类不能被继承!  (JDK提供的String类:  final class String{})
   修饰成员变量,该变量此时是一个常量: (传统的自定义常量的格式:public static final 数据类型 变量名  = 初始化值)
   修饰成员方法,该方法不能被重写!

4.多态的好处以及多态的弊端,如何解决多态的弊端
好处:
		1)提高代码的复用性,由继承保证的!
		2)提高代码的扩展性,由多态保证!
		
弊端:
	不能访问子类的特有功能
	
		1)创建具体的子类对象 子类名 对象名 = new 子类名(); 
			这种方式,比较消耗内存空间(在堆内存中开辟新的空间!)
		2)使用向下转型:将父类的引用强制转换子类的引用:
				子类名  子类对象名 = (子类名)父类的引用;

5.java.lang.ClassCastException 是什么异常,出现的原因是什么?
		向下转型使用不当,会造成一个运行时期异常-->类转换异常!
		在向下转型的时候,堆内存的数据类型跟栈内存变量类型不一致!
				(必须是继承关系才可以)
		
6.形式参数如果是引用类型--具体的类,那么调用该方法的实际参数传递的是什么?
		需要传递该类的具体对象
		
		public viod make(Fruit fruit){		// 能创建子类对象 Fruit fruit = new Apple(); 父类引用指向子类对象
			
		}

7.接口和抽象类的区别?
	成员的区别:
		成员变量
			抽象类:可以是常量也可是变量
			  接口:只能是常量: 存在默认修饰符 public static final...
		成员方法:
			抽象类:可以抽象方法(没有方法体),也可以非抽象方法
			接口:只能是抽象方法,存在默认修饰符:public abstract
		构造方法:
			抽象类:存在构造方法,有参/无参,对数据进行初始化
			接口:没有构造方法的!
			
			
	关系的区别:
		类与类:继承extends,支持单继承,不支持多继承,可以多层继承
		类接口:实现implements,支持一个类继承另一个类的同时可以实现多个接口
		接口与接口:继承extends,支持单继承,也可以支持多继承!
		
		继承:存在一种局限性  ----> 面向接口编程!
	
	设计理念的区别:
		抽象类---->继承关系--->体现的是一种"is a"的关系!
		接口------>实现关系--->体现的是一种"like a"的关系!

8.形式参数如果是具体类,抽象类,接口分别调用方法应该如何传递?
		形式参数是具体类---->调用方法需要传递该类的具体对象!
				  抽象类---->调用方法需要传递该抽象类的子类对象!
				  接口------>调用方法需要传递该接口的子实现类对象!

9.方法的返回值如果是具体类,抽象类,接口分别调用该方法,如何返回?
		方法的返回值是具体类
						该方法需要返回该具体类的对象
					抽象类:该方法需要返回该抽象类的子类对象
					接口:该方法需要返回该接口的子实现类对象

10.static关键字的特点?
		static:
			1)随着类的加载而加载,类加载一次,被static修饰的也就使用一次
			2)优先于对象存在
			3)被static修饰的:被多个对象可以共用,被共享
			4)访问方式:推荐使用类名.成员变量/成员方法()
11.封装,继承,多态的三大特征分别是什么?
		封装的类----->实体类----->实体类中的这些属性需要和数据库表中的字段名称一一对应
		封装:将一个类中的属性私有化(保证的数据安全性,隐藏掉了),
				对外提供公共的访问方法setXXX(形参)/getXXX()方法
				
		继承:多个类中的共性内容抽取到一个独立的类中,然后产生一种关系;
		继承特点:
			子类继承父类,只能继承非私有的成员变量/成员方法,私有的成员间接的通过公共访问方法来访问!
			子类继承父类,子类的所有构造方法都默认访问父类的无参构造方法!(永远建议给出无参构造方法!)
		

Part 2 选择排序

1、选择排序的思想:
	使用0索引的元素依次和后面索引的元素比较,小的往前放
	第一次比较完毕,最小值出现在最小索引处,依次这样比较
在这里也顺便提一下冒泡排序思想:
	两两比较,将较大的值往后放,
	第一次比较完毕,最大值出现在最大索引处,依次这样比较
2、代码表示:这是选择排序、冒泡排序以及数组遍历的部分代码
//选择排序
	private static void paiXu(int[] arr) {
		for (int x = 0; x < arr.length-1; x++) {
			for (int y = x+1; y < arr.length; y++) {
				if(arr[y]<arr[x]) {
					int temp = arr[y];
					arr[y] = arr[x];
					arr[x] = temp;
				}
			}
		}
	}
	//冒泡排序
	private static void bubleSoft(int[] arr) {
		for (int x = 0; x < arr.length-1; x++) {
			for (int y = 0; y < arr.length-1-x; y++) {
				if(arr[y]>arr[y+1]) {
					int temp = arr[y];
					arr[y] = arr[y+1];
					arr[y+1] = temp;
				}
			}
		}
	}
	//遍历
	public static void printArray(int[] arr) {
		System.out.print("[");
		for (int i = 0; i < arr.length; i++) {
			if(arr[i]==arr[arr.length-1]) {
				System.out.println(arr[i]+"]");
			}else {
				System.out.print(arr[i]+" ,");
			}
		}
	}

Part 3 内部类

1.内部类的划分?如何通过外部类访问成员内部类的成员?
	成员内部类
 		在外部类的成员位置定义的类
 	局部内部类
 		在局部位置(外部类的成员方法中)定义的一个类
  通过外部类名.内部类名 对象名 = 外部类对象.内部类对象();

2.外部类如何访问静态的成员内部类的成员?
		外部类类名.内部类名 对象名  = new 外部类名.内部类名();
		
3.匿名内部类的格式是什么?它的本质是什么?
		new 类名/接口名(){
				重写方法;
		};
	匿名内部类的本质:继承了该类或者是实现了该接口的子类对象!
	
4.局部内部类访问局部变量,为什么这个局部变量JDK7以前要加上final修饰?
		局部变量的生命周期:随着方法调用而存在,随着方法调用完毕而消失.在
当前外部类成员方法方法中创建了局部内部类对象,访问里面局部变量.堆内存不会
立即被释放,依然在访问这个变量,需要将局部变量加上final,变成常量!
	//自定义常量 public static final int a = 100 ; 
	//编译时期常量  不通过JVM加载!
	public static final Integer i = new Interger(20) ; 
	//运行时期常量 (通过jvm加载Integer.class)
			
5.获取字节码文件对象的方式?  
		1):Object类中的getClass()方法---->Class对象 
									class 包名.类名				
反射中:
		2)任意Java类型的class属性!
		3)Class类中存在静态功能:forName("一个类的全限定名称") ; (推荐的方式)
6.分别阐述一下四个权限修饰符在不同情况下的访问权限问题?
	public: 对外公开,可以在任何地方访问;
	protected:当前包下及子类可以访问;
	默认:没有访问控制修饰符,同一个包中可以访问;
	private:只有当前类可以访问		
RAG的“诊断艺术”:从测试集结果倒追根源,精准优化检索、排序与生成 当RAG应用给出一个糟糕的答案时,开发者的第一反应可能是:“我的Prompt写得不够好?”这种基于“感觉”的猜测往往是低效的。通过构建一个包含黄金上下文信息的测试集,我们可以像一位经验丰富的医生一样,对RAG系统的各个“器官”进行独立的“健康检查”。一个用于RAG诊断的测试集,除了问题和答案,还需要包含中间环节的“黄金标准”。如果你的RAG流程包含Re-ranker,那么在评估完初期的召回后,需要单独评估Re-ranker的效果。RAG的优化是一个持续的过程,应该形成一个闭环。的文档块尽可能多地召回。 阅读详情

相关推荐

FFT中的精度博弈:定点数缩放、块浮点与溢出处理在Vivado IP核中的实践权衡

本文探讨了在Vivado FFT IP核中实现高精度快速傅里叶变换的关键技术,包括定点数缩放策略、块浮点模式及溢出处理机制。通过分析不同精度控制方案的资源开销与性能权衡,为工程师在医疗成像、雷达信号处理等高动态范围应用中优化FFT实现提供实践指导。

melon的博客 1097

本周总结 -The summary of thirdweek

本周总结 -The summary of thirdweek 本周是学习Java课程完整的第三周,主要学习了权限修饰符;内部类;Object类;toString;toStringBuffer类的构造方法和常用方法 多查api多用api 本周自我评价:学习完成度较高,大部分习题都可以吃透;学习java这门语言一定要学会如何去熟练使用类中给到的方法,在以后的开发中通过查找或者自己的知识储备进行灵活运用。 1修饰符 final是一个状态修饰符,final所修饰的成员变量为常量无法修改,并且修饰的方法无法被重写 s

weixin_52611970的博客 181

Vue 实现华视身份证读卡器功能

在www.downcc.com下载“华视cvr100驱动”安装程序; 华视电子官网有相应的文档说明和程序下载 一、服务安装 选择安装目录: 启动读卡服务: 安装成功会有如图所示: 注意事项: 安装开发包必须使用管理员权限,因为windows服务和读卡器设备驱动程序均需要管理员权限,否则会安装失败。 win10需要修改组策略才有管理员权限。 二、服务的使用 打开浏览器,输入地址http://127.0.0.1:19196/mainpage,回车 点击openDevice: 点.

zyqgt960812的博客 6503

java作业06接口、内部类

1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 1.2 可选:使用常规方法总结其他上课内容。 1.内部类的静态和非静态的属性方法。2.匿名类的使...

weixin_30548917的博客 164

HI3516CV610海思SOC:超高清智慧视觉开发全攻略

本文全面解析海思HI3516CV610 SOC在超高清智慧视觉开发中的应用。该芯片集成双核A7处理器、1Tops NPU、AI ISP及4K视频编码器,专为智能摄像头设计。文章详细介绍了开发环境搭建、核心硬件架构、媒体处理平台(MPP)实战、AI算法集成与系统调优等全流程攻略,帮助开发者高效构建稳定可靠的视觉AI产品。

weixin_29269441的博客 1255

OpenClaw Windows 最详细安装指南

Windows上养龙虾:OpenClaw完整安装教程+钉钉接入,助你养只大龙虾

weixin_43405859的博客 2215

201621123080《java程序设计》第六周作业总结

201621123080《java程序设计》第六周作业总结 1. 本周学习总结 2. 书面作业 clone方法 1.1 在test1包中编写Employee类,在test2包中新建一个Test类,并在其main中新建test1包中的Employee的对象,然后使用clone方法克隆一个新对象,能否成功?为什么? 不能成功,protected修饰的只能被子类或同包访问。 1.2 ...

波士地盘 165

Cloudflare 5秒盾逆向实战:13次请求背后的Python补环境框架搭建指南

本文深入解析了如何通过Python构建浏览器环境模拟框架,以应对Cloudflare 5秒盾等现代Web防护机制。文章详细拆解了其背后复杂的13次请求链,涵盖了JavaScript执行引擎集成、DOM事件模拟、网络请求控制及Canvas指纹等环境检测的完整实现方案,为自动化数据采集和逆向工程提供了实战指南。

gold的博客 356

作业05-继承、多态、抽象类与接口

1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 1.2 尝试使用思维导图将这些关键词组织起来。注:思维导图一般不需要出现过多的字。 1.3 可选:使用常规方法总结其他上课内容。 2. 书面作业 作业参考文件下载题集:面向对象2-进阶-多态、接口与内部类 1. 面向对象设计大作业(团队项目,2-3人) 内容:继续完善上次的大作业。注意: 再过几次课要讲Java图形界面编程,...

zhrb 189

TikTok滑块验证码verifyV2逆向实战:从fp生成到captchabody加密的完整流程解析

本文详细解析了TikTok滑块验证码verifyV2的逆向工程全流程,从fp参数生成到captchabody加密机制,涵盖了验证码触发、WASM解密、轨迹模拟等关键技术点。通过实战案例和代码示例,帮助开发者深入理解反爬机制,提升逆向工程能力,应对复杂的验证挑战。

weixin_28568819的博客 481

LabVIEW内存泄漏诊断与优化:从报错到高效运行

本文深入探讨LabVIEW内存泄漏的诊断与优化方法,从理解内存泄漏本质到使用专业工具链进行问题定位,再到高频场景的解决方案和高级优化策略。通过实战案例展示如何解决工业数据采集系统中的内存不足问题,帮助开发者提升LabVIEW应用的稳定性和效率。

moon9的博客 198

作业06-接口、内部类

作业06-接口、内部类 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 1.2 可选:使用常规方法总结其他上课内容。 2. 书面作业 1. clon...

weixin_30412577的博客 130

LPDDR5 学习笔记01:功能概述

LPDDR5/LPDDR5X SDRAM设备采用8/16DQ通道架构,支持2Gb-32Gb容量。通过CK命令时钟和更快的WCK数据时钟协同工作,7个CA引脚传输控制信息,支持2:1或4:1的WCK:CK比例。设备提供BG/8B/16B三种存储模式选择,分别支持不同数据速率(最高8.533Gbps)和突发长度。采用0.5V VDDQ电源电压,实现高速双倍数据速率传输,并通过差分WCK时钟完成数据采样。读写采用突发访问机制,需先激活命令再执行读写操作。新型LPDDR5X仅支持BG和16B模式,优化了高速性能。

一只豌豆象的博客 2203

学习java的第三周

1.static关键字(特殊的访问方式) 特点:1)随着类的加载而加载; 2)优先于对象存在(不能和this共存); 3)被静态修饰的可以被多个对象共享; 4)被静态修饰的变量,方法(静态变量,静态方法) 注意事项:静态只能访问静态 静态成员的访问方式: 类名.变量 类名.方法名() 2.代码块(使用{}包裹起来的内容) 分类:局部代码块 :在方法定义中使用 ;作用:限定局部变量的生命周期 构造代码块:在类的成员位置(类中,方法外),使用{}包裹起...

knock_knockknock的博客 167

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

201621123075 week06-接口、内部类

1.本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 1.2 可选:使用常规方法总结其他上课内容。 final修饰的属性和变量的值不会改变 重载指的是类名...

weixin_34365635的博客 161

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

第五周周报

第五周周报

bao_14440的博客 257

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

本周总结 (上篇)

1.基础部分 选择结构语句: (1)if 条件语句:if语句 if…else语句 if …else if …else 语句 (2)switch条件语句:和if条件语句不同,它只能针对某个表达式的值做出判断,从而决定程序执行哪一段代码 循环结构语句: (1)while 循环语句:只要条件成立,{ }内的执行语句就会执行,直到条件不成立,循环结束。 (2)do…while 循环语句:循环必定会执行...

ZhYSn_的博客 174

第六次作业

1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 1.2 可选:使用常规方法总结其他上课内容。 答:嵌套类: 非静态内部类拥有外部类的所有...

152

本周总结

本周总结 抽象类 什么是抽象类? 将一个类的成员方法给出一个声明,不给出具体的实现,那么这个类必须是抽象类。 格式: abstract class 类名{ } 有抽象方法的一定是抽象类,抽象类中不一定有抽象方法。 抽象类的特点: 不能直接实例化,可以间接通过子类实例化 格式: 父类名 对象名 =new 子类名(); 抽象类是一种强制子类必须完成的事情,抽象类中的抽象方法子类必须重写。 抽象类中的成员特点: 1)成员变量:可以是变量,也可以是自定义常量。 2)成员方法:可以是非抽象方法,也可以是抽象

90

201621123026《JAVA程序设计》 第6周学习总结

作业06-接口、内部类 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结。 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面向对象的核心内容即可。 注2:颜色要少、连线不要复杂,必要的时候要在连线上进行说明。 1.2 可选:使用常规方法总结其他上课内容。 2. 书面作业 1. clon...

weixin_30730151的博客 70

201621123054 《Java程序设计》第六周实验总结

1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结。 1.2 可选:使用常规方法总结其他上课内容。 2. 书面作业 1. clone方法 1.1 在test1包中编写Employee类,在test2包中新建一个Test类,并在其main中新建test1包中的Employee的对象,然后使用...

weixin_30518397的博客 235

Java学习——周报(第三周)

二分查找法、冒泡排序、选择排序

2303_78135678的博客 1081

201621123013 《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 答:接口(Comparator,Comparable),关键字:implement,interface,abstract,has-a关系,抽象类等 1.2 尝试使用思维导图将这些关键词组织起来。注:思维导图一般不需要出现过多的字。 2. 书面作业 PTA题集:面向对象2-进阶-多态、接口与内部类 1. 面向对象设...

ailu1957的博客 109

20172304 2017-2018-2 《程序设计与数据结构》第八周学习总结

学号 2017-2018-2 《程序设计与数据结构》第八周学习总结 教材学习内容总结 本周主要讲了多态,面向对象的编程最重要的就是封装,多态,和继承。多态的对象可以指向多种类型。具有很高的灵活性。多态可以由继承和接口实现。由继承实现多态,可以用父类定义一个对象,而这个对象可以指向子类的对象。而接口实现多态,则是在实现接口的类中,由接口定义的对象可以指向其中的对象。还介绍了两种排序方法。一种选择排...

weixin_34246551的博客 114
上一篇: Java基础------继承
⁵²º
博客等级 码龄6年 15粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值