在Java中,Object
类是所有类的超类(或称为基类),它提供了一系列的方法供子类继承和使用。
getClass()
:返回对象的运行时类。hashCode()
:返回对象的哈希码值。equals(Object obj)
:指示其他某个对象是否与此对象“相等”。clone()
:创建并返回此对象的一个副本。注意,这个方法是受保护的,且需要对象所属的类实现Cloneable
接口,否则将抛出CloneNotSupportedException
。toString()
:返回该对象的字符串表示。notify()
:唤醒在此对象监视器上等待的单个线程。notifyAll()
:唤醒在此对象监视器上等待的所有线程。wait(long timeout)
:导致当前线程等待,直到其他线程调用此对象的notify()
方法或notifyAll()
方法,或者超过指定的时间量。wait(long timeout, int nanos)
:这是wait(long timeout)
的一个变体,它允许更精确的时间控制。wait()
:与wait(0)
相同,即无限期地等待。finalize()
:当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。但是,从Java 9开始,finalize
方法已被标记为过时(deprecated),并可能在未来的版本中完全移除,因此不推荐使用。
此外,Object
类还可能包含一些本地方法(native methods)的实现细节,如registerNatives()
,这个方法用于向JVM注册本地方法,但它通常不会由Java程序直接调用。