Object:
是所有类的父类,是在java.lang中的,java.lang中的都是核心包
toString():
把对象以文本的方式展示:类名@无符号十六进制的哈希码值(经过压缩处理的对象地址值);在日常开发中,主要用于把对象转成字符串。
hashCode:
判断对象不相等比较高效,对象相等哈希值不一定相等,哈希值不等则对象一定不相等。
equals:
证明两个对象是否相等,子类使用必须重写,而且还需要重写hashCode.
finalize:
当对象被垃圾回收器回收前调用,必须子类重写,可以通过system.gc()手动触发垃圾回收器。
final、finally、finalize的区别
1、final
1.1 当用final修饰类的时,表明该类不能被其他类所继承。当我们需要让一个类永远不被继承,此时就可以用final修饰,但要注意:
final类中所有的成员方法都会隐式的定义为final方法。
1.2 final修饰方法时:该方法不能被子类重写。
1.3 final成员变量表示常量,只能被赋值一次,赋值后其值不再改变。
2、finally
finally作为异常处理的一部分,它是用于try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常)。
3、finalize
finalize()是在java.lang.Object里定义的,也就是说每一个对象都有这么个方法。这个方法在gc启动,该对象被回收的时候被调用。其实gc可以回收大部分的对象(凡是new出来的对象,gc都能搞定,一般情况下我们又不会用new以外的方式去创建对象),所以一般是不需要程序员去实现finalize的。