Object類有哪些方法

2021-07-27 22:20:47 字數 1045 閱讀 4393

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(long timeout)設定乙個超時間隔,如果在規定時間內沒有獲得鎖就返回。

呼叫該方法後當前執行緒進入睡眠狀態,直到以下事件發生。

(1)其他執行緒呼叫了該物件的notify方法。

(2)其他執行緒呼叫了該物件的notifyall方法。

(3)其他執行緒呼叫了interrupt中斷該執行緒。

(4)時間間隔到了。

此時該執行緒就可以被排程了,如果是被中斷的話就丟擲乙個interruptedexception異常。

8.notify方法

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

9.notifyall方法

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

Object 類有哪些方法?

equals 檢測物件是否相等,預設使用 比較物件引用,可以重寫 equals 方法自定義比較規則。equals 方法規範 自反性 對稱性 傳遞性 一致性 對於任何非空引用 x,x.equals null 返回 false。hashcode 雜湊碼是由物件匯出的乙個整型值,沒有規律,每個物件都有預設...

Object類有哪些公用方法?

object是所有類的父類,任何類都預設繼承object。clone 保護方法,實現物件的淺複製,只有實現了cloneable介面才可以呼叫該方法,否則丟擲clonenotsupportedexception異常 equals 在object中與 是一樣的,子類一般需要重寫該方法 hashcode ...

Object類有哪些公用方法?

object是所有類的父類,任何類都預設繼承object。clone 保護方法,實現物件的淺複製,只有實現了cloneable介面才可以呼叫該方法,否則丟擲clonenotsupportedexception異常 equals 在object中與 是一樣的,子類一般需要重寫該方法 hashcode ...