匿名内部类,Object类,equals()方法
- 没有类名的局部内部类(一切特征都与局部内部类相同)
- 必须继承一个父类或者实现一个接口
- 定义类,实现类,创建对象的语法合并,只能创建一个该类的对象
- 使用匿名内部类优化,节省资源
优点:减少代码量
缺点:可读性较差
Object类
- 超类,基类,所有类的直接或间接父类,位于继承树的最顶层
- 任何类,如果没有书写extends先是继承某个类,都默认直接继承Object类,否则为间接继承。
- Object类中所有定义的方法,是所有对象具备的方法
- Object类型可以储存任何对象。
作为参数,可以接受任何对象
作为返回值,可返回任何对象
getClass()方法
public final Class<?>getClass(){
}
返回引用中存储的实际对象类型。
引用:通常用于判断两个引用中实际储存对象类型是否一致。
hashCode()方法
public int hashCode(){}
返回该对象的哈希码值。
哈希值根据对象的机制或字符串或数字使用hash算法计算出来的int类型的数值。
一般情况下相同对象返回哈希值码。
toString()方法
public String toString(){}
返回该对象的字符串表示(表现形式)
可以根据程序需求覆盖该方法,如:展示对象的各个属性
toString可以通过方法重写来覆盖原来的值,返回我们需要的值
equals()方法
- public boolean equals(Object obj){}
- 默认显示为(this == obj),比较两个对象地址是否相同
- 可进行覆盖,比较两个对象的内容是否相同。
equals()方法覆盖步骤
- 比较两个引用是否指向同一个对象。
- 判断obj是否为null
- 判断两个引用指向的实际对象类型是否一致
- 强制类型转换。
- 一次比较各个属性值是否相同
finalize方法
- 当对象被判定为垃圾对象时,由JVM自动调用此方法,用以标记垃圾对象,进入回收队列。
- 垃圾对象:没有有效引用指向此对象时,为垃圾对象。
- 垃圾回收:由GC销毁垃圾对象,释放数据储存空间。
- 自动回收机制:JVM的内存损耗,一次性回收所有垃圾对象。
- 手动回收机制:使用System.gc();通知JVM执行垃圾回收。