Java Object類

默認情況下,Object類是java中所有類的父類。 換句話說,它是java的頂級類。

如果想引用你不知道的類型的對象,使用Object類是沒有錯的。請注意,父類引用變量可以引用子類對象,稱爲上轉換。

下面舉一個例子,有一個getObject()方法返回一個對象,但它可以是任何類型,如:EmployeeStudent等這樣的類,我們可以使用Object類引用來引用該對象。 例如:

Object obj=getObject();//we don't know what object will be returned from this method

Object類爲所有對象提供了一些常見的行爲,如對象可以進行比較,對象可以克隆,對象可以通知等。

Java

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

在對象被垃圾收集之前由垃圾收集器調用。

我們將在下一章詳細學習這些方法。