面试官:Object类中都有哪些方法?
相信不少哥们在面试的时候都被问到过这个问题,我也一样,而且当时没有说全。。。
如果在看这篇文章的大佬能说全,而且每个方法主要作用也能说出来,还是很不错的,鼓掌。。。。
今天再回顾一下。话不多说,先看类结构。

一共12个方法
1 registerNatives() //特殊的本地方法,加载类时调用该方法完成对该类中其他本地方法的注册,System类、Class类、
ClassLoader类、Unsafe类等等都有。
2 getClass() //返回此 Object 的运行类型。
3 hashCode() //用于获取对象的哈希值。重写equals()一般都要重写hashCode()。equals相同,hashCode()值相同。hashCode相等不一定满足equals。
4 equals(Object obj) //用于确认两个对象是否“相同”。一般子类都有覆盖。在Object中,equals和==是一样的。
5 clone() //创建并返回此对象的一个副本。 当然,是实现对象的浅复制。实现了Cloneable接口,才可以调用该方法。
6 toString() //返回该对象的字符串表示。一般子类都会重写。
7 notify() //唤醒在此对象监视器上等待的单个线程。
8 notifyAll() //唤醒在此对象监视器上等待的所有线程。
9 wait(long timeout) //在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
10 wait(long timeout, int nanos) //在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
11 wait() //用于让当前线程进入等待序列。
12 finalize() //当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
学无止境,让学习成为一种习惯。
本人水平有限,有不对的请指教,谢谢。

浙公网安备 33010602011771号