Object類是Java中所有類的超類,它提供了以下方法:
clone(): 用於創建對象的淺複製。只有實現了Cloneable接口的類才能調用此方法,否則會拋出CloneNotSupportedException異常。
equals(Object o): 用於比較兩個對象是否相等。在Object類中,它比較的是兩個引用是否指向同一個對象。子類通常需要重寫此方法以根據對象的實際內容來判斷相等性。
hashCode(): 用於返回對象的哈希碼值,通常用於哈希表等數據結構。如果兩個對象根據equals()方法相等,那麼它們的哈希碼值也必須相等。
toString(): 返回對象的字元串表示形式。在Object類中,默認實現返回類的全限定名和哈希碼的十六進制表示。
finalize(): 當對象被垃圾回收前調用,用於釋放資源。由於無法確定該方法何時被調用,通常很少使用。
getClass(): 返回對象運行時的類。
wait(long timeout): 使當前執行緒等待指定時間,除非其他執行緒調用了該對象的notify()或notifyAll()方法,或者當前執行緒被中斷。
notify(): 喚醒正在等待的對象的一個執行緒。
notifyAll(): 喚醒正在等待的所有對象執行緒。
以上方法中,wait(), notify(), 和 notifyAll()方法必須由持有對象監視器(即對象的鎖)的執行緒調用。這些方法使得執行緒可以協調它們的執行,例如在一個生產者-消費者問題中。