我会说Design
。每个人都应该支持的通用/强制性方法在Object
那里编写并将该类扩展为语言规范。
您可以在官方文档中找到原因。
如果我们说这是一个Object
,它们必须具有由 定义/决定的通用方法API
。
想象一下您自己的每个班级的以下方法。
protected Object clone() throws CloneNotSupportedException
Creates and returns a copy of this object.
public boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void finalize() throws Throwable
Called by the garbage collector on an object when garbage
collection determines that there are no more references to the object
public final Class getClass()
Returns the runtime class of an object.
public int hashCode()
Returns a hash code value for the object.
public String toString()
Returns a string representation of the object.
Object 的 notify、notifyAll 和 wait 方法都在同步程序中独立运行的线程的活动中发挥作用:
public final void notify()
public final void notifyAll()
public final void wait()
public final void wait(long timeout)
public final void wait(long timeout, int nanos)
所以为了减轻痛苦,创造了一个共同的标准API
。