Object類有哪些公用方法?

NoobZhang發表於2016-11-11

Object是所有類的父類,任何類都預設繼承Object。

clone

保護方法,實現物件的淺複製,只有實現了Cloneable介面才可以呼叫該方法,否則丟擲CloneNotSupportedException異常

equals

在Object中與==是一樣的,子類一般需要重寫該方法

hashCode

該方法用於雜湊查詢,重寫了equals方法一般都要重寫hashCode方法。這個方法在一些具有雜湊功能的Collection中用到

getClass

final方法,獲得執行時型別

wait

使當前執行緒等待該物件的鎖,當前執行緒必須是該物件的擁有者,也就是具有該物件的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(long timeout)設定一個超時間隔,如果在規定時間內沒有獲得鎖就返回。
呼叫該方法後當前執行緒進入睡眠狀態,直到以下事件發生:
1. 其他執行緒呼叫了該物件的notify方法
2. 其他執行緒呼叫了該物件的notifyAll方法
3. 其他執行緒呼叫了interrupt中斷該執行緒
4. 時間間隔到了
此時該執行緒就可以被排程了,如果是被中斷的話就丟擲一個InterruptedException異常

notify

喚醒在該物件上等待的某個執行緒

notifyAll

喚醒在該物件上等待的所有執行緒

toString

轉換成字串,一般子類都有重寫,否則列印控制程式碼

相關文章