Object类与常用类,内部类
Posted learnsb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object类与常用类,内部类相关的知识,希望对你有一定的参考价值。
Object
Object类是Java中所有的的父类,相当于树结构中的根节点ROOT;如果一个类没有明确的标明继承自哪个类,都默认继承自Object类。所以,Java中所有的对象都能赋值给Object类型的引用(多态)。其次,由于子类中能够继承父类中的公开方法。因此,Object 类中所有的公开方法都能被子类继承。也就是说,Object 类中的公开方法,是 Java 中所有对象都拥有的方法。
接下来看下Object类中有哪些Java对象常用的公开方法。
1.finalize(完成,结束)
当内存不够使用时,JVM会对内存中不再使用的对象进行垃圾回收工作,方法是调用对象的finalize方法,腾出相应的空间来。注意,这里调用finalize的时机并不是对象成为垃圾对象的时刻;而是在内存不够的时候,才会去调用,在对象不再使用成为垃圾对象到进行垃圾回收中间的时间是不确定的,具体要看内存资源的使用情况,综上所述,我们不应该在 finalize 中写上释放资源的代码。
2.getClass(返回对象的实际类型)
instance of关键字也可以返回对象的实际类型,但其包含了多态,在某些场合可能显得不严谨;getClass返回对象的实际类型并不包含多态。
3.equals(注意:从Object类中继承的原生equals方法中就是使用双等于判断引用地址的,某些情况下需要覆盖equals方法才可以比较对象的内容,而不是引用地址)
equals用来判断两个对象的内容是否相等。
1)对比‘==’,双等于用来判断对象的引用地址是否是同一个。
2)特殊场景需要覆盖原生的equals方法,覆盖时需要注意:
首先与自己判重
然后判断做比较的对象是否为空
判断两个对象的实际类型
强制转换成相同对象类型
依次比较对象属性是否一致
4.toString
包装类
内部类
成员内部类
静态内部类
局部内部类
匿名内部类
以上是关于Object类与常用类,内部类的主要内容,如果未能解决你的问题,请参考以下文章