object
類是乙個特殊的類,是所有類的父類,如果乙個類沒有用
extends
明確指出繼承於某個類,那麼它預設繼承
object
類。這裡主要總結
object
類中的三個常用方法:
tostring()
、equals()
、hashcode()
。1.取得物件資訊的方法:tostring()
該方法在列印物件時被呼叫,將物件資訊變為字串返回,預設輸出物件位址。
1輸出結果:class
student26
7public
class
text
15 }
姓名:mary,年齡:21
classnotes.student@15db9742
classnotes.student@15db9742
上述結果看出編譯器預設呼叫
tostring()
方法輸出物件,但輸出的是物件的位址,我們並不能看懂它的意思。那麼就要通過重寫
object
類的tostring()
方法來輸出物件屬性資訊。
1輸出結果:姓名:mary,年齡:class
student
29 }
21。這樣物件資訊就更加清晰了。
2.物件相等判斷方法:equals()
該方法用於比較物件是否相等,而且此方法必須被重寫。
1輸出結果:s1和class
student210
}1112public
class
text
20 }
s2不是同乙個人。
很明顯輸出的結果是錯誤的,因為
equals()
方法比較的是兩個物件的位址,所以必須重寫方法才能到達目的。
1上面的是書上的例子,不太好理解,我自己編了乙個equals()方法,簡單但不知道對不對://重寫父類(object類)中的equals方法
2public
boolean
equals(object o)313
}14else
1518
return temp;//
返回乙個布林值
19 }
1democlass
student217
else
1821
return
temp;22}
23}2425
public
class
text
31 }
***在
eclipse
偶然發現乙個快捷鍵,按住
ctrl+/
會注釋當前行
3.物件簽名:hashcode()
該方法用來返回其所在物件的實體地址(雜湊碼值),常會和equals方法同時重寫,確保相等的兩個物件擁有相等的
.hashcode
。
1輸出結果:class
student219
else
2023
return
temp;24}
25//
重寫hashcode()方法
26public int hashcode()
27 30}
3132
public
class
text
38 }
s1的雜湊碼:
9298668
s2的雜湊碼:
9298668
s1和s2
是同一人
Object類及其常用方法簡介
object類是乙個特殊的類,是所有類的父類,如果乙個類沒有用extends明確指出繼承於某個類,它預設繼承object類。這裡主要總結object類中的三個常用方法 tostring equals hashcode 1.取得物件資訊的方法 tostring 該方法在列印物件時被呼叫,將物件資訊變為...
Object類方法簡介二
在學了object類前面的三個常用方法後,又遇到它的另外三個方法 clone finalize getclass 這三個方法不經常使用,但因為在學習過程遇到了,就簡單的對它們的使用做乙個總結。1.物件轉殖 clone 方法 protected object clone throws clonenot...
Object類常用方法
object類 超類 基類,所有類的直接或間接父類,位於繼承樹的最頂層 任何類,如沒有書寫extends顯示繼承某個類,都預設直接繼承0bject類,否則為間接繼承 0bject類中所定義的方法,是所有物件都具備的方法 0bject型別可以儲存任何物件 作為引數,可接受任何物件 作為返回值,可返回任...