Java Object類
默認情況下,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
在對象被垃圾收集之前由垃圾收集器調用。
我們將在下一章詳細學習這些方法。