1. 程式人生 > >一切皆物件,Object類

一切皆物件,Object類

我作為一個小白的學習成長筆記,難免有錯~

Object類是所有類的父類,如果一個沒有用extends明確指出繼承於某個類,則它預設繼承object類。這裡總結object類的11個方法;
1.toString()

toString()原始碼
該方法在列印物件時將被呼叫,將物件資訊變為字串返回,預設輸出的是物件地址。
舉個栗子?
輸出結果
輸出結果
編譯器預設呼叫toString()方法輸出的是物件地址,如果需要輸出物件屬性資訊,則需要重寫Object類的toString()方法。

2.equals()
equals()原始碼
該方法用於比較物件是否相等,而且該方法必須被重寫!
舉個栗子?
輸出結果
輸出結果
equals()方法比較的是兩個物件的地址

3.hashcode()


hashcode()原始碼
該方法用來返回其所在物件的實體地址(雜湊碼值),常會和equals方法同時重寫,確保相等的兩個物件擁有相等的.hashcode。
栗子?
栗子?
輸出結果
輸出結果
當你重寫override了equals()方法之後,必須也override重寫hashcode()方法,反之亦然。

6.getClass()
getclass()方法可以獲取一個物件的型別類,進而通過返回的Class物件獲取類的相關資訊,比如,父類的名字,該類的名字。
原始碼
舉個栗子?
執行結果
執行結果

下面幾個方法學習到執行緒相關知識的時候再補充~
7.wait()
8.notify()
9.notifyAll()