1、Object类是所有类的父类
一个类如果没有使用extends显性的继承另外一个类,那么这个类就继承自Object类。
2、源码解析(涉及到Object中常用的10个方法)
getClass()、hashCode()、equals(Object)、clone()、toString()、notify()、notifyAll()、wait()、wait(long)、wait(long,int)
finalize()方法为过时的方法或者说是不推荐的方法,主要作用是标识在堆中的对象哪些是没有被引用的,方便JVM中的GC进行垃圾回收。
3、对象的比较—==和equals()
a、==:
---- 比较两基本类型变量的值是否相等
---- 比较两个引用类型的值即内存地址是否相等,即是否指向同一对象。
b、equals() :
两对象的内容是否一致
c、自定义类须重写equals(),否则其对象比较结果总是false。
通过阅读Object源码可知,equals()方法的实现是用==完成的
Object源码摘抄
public boolean equals(Object obj) {
return (this == obj);
}
Demo: