Object 类是所有java类的父类,如果定义的类没有显式继承其他类,那么就隐式继承了Object类,也就是说,任何Java类都可以使用Object类的方法。
Object类有以下11种方法:
1种构造方法
四种常用方法:
equals Object的equals方法比较的是对象的地址
hashCode hashCode获取对象的hash值,在实现Comparable接口时要重写该方法,因为比较对象时先根据hashCode判断两个对象是否相等再去调用compareTo方法判断排序。
toString方法,返回对象的字符串表示。
clone方法,默认返回对象的浅拷贝,不推荐使用,若要拷贝对象建议使用Fastjson序列化反序列化对象完成深拷贝。
两种线程唤醒方法
notify唤醒该对象等待的某个线程
notifyAll唤醒该对象上等待的所有线程
三种线程等待相关方法:
wait方法,让当前线程进入等待状态。直到其他线程调用此对象的notify或notifyAll方法。
wati(long timeout)方法,让当前线程进入等待状态。直到其他线程调用此对象的notify或notifyAll方法或者超过参数设置的timeout超时时间。
wait(long timeout, int nanos)方法,让当前线程进入等待状态。直到其他线程调用此对象的notify或notifyAll方法或者超过参数设置的timeout超时时间+nanos纳秒。