默認情況下,Object類是java中所有類的父類。 換句話說,它是java的頂級類。
如果想引用你不知道的類型的對象,使用Object類是沒有錯的。請注意,父類引用變數可以引用子類對象,稱為上轉換。
下麵舉一個例子,有一個getObject()方法返回一個對象,但它可以是任何類型,如:Employee,Student等這樣的類,我們可以使用Object類引用來引用該對象。 例如:
Object obj=getObject();//we don't know what object will be returned from this method
Object類為所有對象提供了一些常見的行為,如對象可以進行比較,對象可以克隆,對象可以通知等。

Object類的方法
Object類提供了許多方法。 它們如下:
| 方法 | 描述 | 
|---|---|
| public final Class getClass() | 返回此對象的 Class類對象。Class類可以進一步用於獲取此類的元數據。 | 
| public int hashCode() | 返回此對象的哈希碼值 | 
| public boolean equals(Object obj) | 將給定對象與此對象進行比較。 | 
| protected Object clone() throws CloneNotSupportedException | 創建並返回此對象的精確副本(克隆)。 | 
| public String toString() | 返回此對象的字串表示形式。 | 
| public final void notify() | 喚醒單線程,等待此對象的監視器。 | 
| public final void notifyAll() | 喚醒所有線程,等待此對象的監視器。 | 
| public final void wait(long timeout)throws InterruptedException | 導致當前線程等待指定的毫秒,直到另一個線程通知(調用 notify()或notifyAll()方法)。 | 
| public final void wait(long timeout,int nanos)throws InterruptedException | 導致當前線程等待指定的毫秒和納秒,直到另一個線程通知(調用 notify()或notifyAll()方法)。 | 
| public final void wait()throws InterruptedException | 導致當前線程等待,直到另一個線程通知(調用 notify()或notifyAll()方法)。 | 
| protected void finalize()throws Throwable | 在對象被垃圾收集之前由垃圾收集器調用。 | 
我們將在下一章詳細學習這些方法。
