Object是所有類別的父類,任何類別都預設繼承Object。 Object類別到底實作了哪些方法?
1、clone方法
保護方法,實作物件的淺複製,只有實作了Cloneable介面才可以呼叫該方法,否則拋出CloneNotSupportedException異常。
2、getClass方法
final方法,取得執行時間類型。
3、toString方法
此方法用得比較多,一般子類別都有覆寫。
4、finalize方法
該方法用於釋放資源。因為無法確定該方法什麼時候被調用,很少使用。
5、equals方法
該方法是非常重要的一個方法。一般equals和==是不一樣的,但Object中兩者是一樣的。子類別一般都要重寫這個方法。
6、hashCode方法
該方法用於哈希查找,重寫了equals方法一般都要重寫hashCode方法。這個方法在一些具有雜湊功能的Collection中用到。
一般必須滿足obj1.equals(obj2)==true
。可以推出obj1.hash-Code()==obj2.hashCode()
,但是hashCode相等不一定就滿足equals
。不過為了提高效率,應該盡量讓上面兩個條件接近等價。
7、wait方法
wait方法就是讓目前執行緒等待該物件的鎖,目前執行緒必須是該物件的擁有者,也就是具有該物件的鎖。 wait()方法一直等待,直到獲得鎖或中斷。 wait(longtimeout)
設定一個超時間隔,如果在規定時間內沒有取得鎖定就回傳。
呼叫該方法後當前執行緒進入睡眠狀態,直到以下事件發生。
(1)其他執行緒呼叫了該物件的notify方法。
(2)其他執行緒呼叫了該物件的notifyAll方法。
(3)其他執行緒呼叫了interrupt中斷該執行緒。
(4)時間間隔到了。
此時該執行緒就可以被調度了,如果是中斷的話就拋出一個InterruptedException
異常。
8、notify方法
該方法喚醒在該物件上等待的某個執行緒。
9. notifyAll方法
該方法喚醒在該物件上等待的所有執行緒。
推薦教學:java開發入門
以上是java中的Object類別有哪些方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!