1. 使用自定义类:
验证结果:
2. 进行试验1:
验证结果:
分析原因:
当“==”施加于原始数据类型变量时,是比较变量所保存的数据是否相等
当“==”施加于引用类型变量时,是比较这两个变量是否引用同一对象。
引用代表地址,所以“==”实际上相当于比较两个引用类型变量中保存的对象地址是否相同。
3. 如何比较两个对象的“内容”是否一样:
验证结果: 重写基类得结果截图:
两个对象的“内容”,其实是指它们在某一时刻的所有字段的值,“内容相等”,其实是就“对应字段值”一致
4. 动手动脑1:
Foo()没有构造函数,需要添加一个构造函数。或者在调用的时候加一个整数型的参数。
如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法
5. 进行试验2:
运行结果:
Java字段初始化归律:
- 执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。
- 执行类的构造函数。
- 类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。
6. 动手动脑2:
运行结果:
静态初始化的执行顺序:
- 静态初始化块只执行一次。
- 创建子类型的对象时,也会导致父类型的静态初始化块的执行。
时间: 2024-10-31 20:18:56