前言
除开构造方法Object()和重载方法wait(),Object类一共有一共有9中方法。
Object中的九种方法
clone()
实现对象的浅拷贝的clone方法
hashcode()
hashCode()用于获取对象的哈希值,这个值的作用是检索
equals()
equals()用于确认两个对象是否相同,比较地址值
toString()
返回一个String用来表示Object对象
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
getClass()
getClass()返回一个Class对象
public final Class<?> getClass() {
return shadow$_klass_;
}
如果打印出来会发现结果是如下格式
class package.name.xxx
因为返回的是一个class对象,后面可以跟class类的方法。用的是谁的构造函数,那么getClass返回的就是谁的类型。
getClass()经常用于java反射机制
wait(),wait(long),wait(long,int)
使当前线程等待,直到再被调用
notify()
唤醒在此对象的监视器上等待的单个线程。如果有任何线程正在等待这个对象,则选择其中一个线程被唤醒。选择是任意的,并由实现自行决定。线程通过调用 wait()方法之一在对象的监视器上等待。
notifyAll()
唤醒在此对象的监视器上等待的所有线程。 wait(),notify(),notifyAll()- 在使用的时候要求在synchronize语句中使用
finallize()
子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法