object中的方法
1.clone方法
保護方法,實現物件的淺複製,只有實現了cloneable介面才可以呼叫該方法,否則丟擲clonenotsupportedexception異常。
2.getclass方法
final方法,獲得執行時型別。
3.tostring方法
該方法用得比較多,一般子類都有覆蓋。
4.finalize方法
該方法用於釋放資源。因為無法確定該方法什麼時候被呼叫,很少使用。
5.equals方法
該方法是非常重要的乙個方法。一般equals和==是不一樣的,但是在object中兩者是一樣的。子類一般都要重寫這個方法。
6.hashcode方法
該方法用於雜湊查詢,可以減少在查詢中使用equals的次數,重寫了equals方法一般都要重寫hashcode方法。這個方法在一些具有雜湊功能的collection中用到。
一般必須滿足obj1.equals(obj2)==true。可以推出obj1.hash- code()==obj2.hashcode(),但是hashcode相等不一定就滿足equals。不過為了提高效率,應該盡量使上面兩個條件接近等價。
如果不重寫hashcode(),在hashset中新增兩個equals的物件,會將兩個物件都加入進去。
7.wait方法
wait方法就是使當前執行緒等待該物件的鎖,當前執行緒必須是該物件的擁有者,也就是具有該物件的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(long timeout)設定乙個超時間隔,如果在規定時間內沒有獲得鎖就返回。
呼叫該方法後當前執行緒進入睡眠狀態,直到以下事件發生。
(1)其他執行緒呼叫了該物件的notify方法。
(2)其他執行緒呼叫了該物件的notifyall方法。
(3)其他執行緒呼叫了interrupt中斷該執行緒。
(4)時間間隔到了。
此時該執行緒就可以被排程了,如果是被中斷的話就丟擲乙個interruptedexception異常。
8.notify方法
該方法喚醒在該物件上等待的某個執行緒。
9.notifyall方法
該方法喚醒在該物件上等待的所有執行緒。
Object類中的方法
hashcode 用於獲取物件的雜湊值,這個值的作用是檢索,具體的作用可以參考這裡 雜湊值相同的物件不一定equale equals 返回true的兩個物件一定相同。class package.name.在使用的時候要求在synchronize語句中使用 wait 用於讓當前執行緒失去操作許可權,當...
Object中的assign方法
學習阮一峰老師的教程 const target const source1 const source2 object.assign target,source1,source2 console.log target script 注意 const target const source1 const...
Object類中的方法 equals方法
public boolean equals object obj 從原始碼可以看得出來,預設父類object類的equals方法底層還是跟 一樣,比較的是位址值,而比較兩個物件的位址是沒有意義的,一般都是比較物件的成員是否相等.當父類方法無法滿足子類需要的時候,需要重寫 1 至於怎麼重寫,我們可以先...