1、概述
所有非基本類型的頂層父類,包括我們自定義類。
2、常用方法
1、equals
- 基本類型比較的是值
- (Object默認成員方法)引用類型比較的是地址值(邏輯地址)
因此,引用類型一般都對equals進行了重寫。我們自定義類型進行比較也需要對equals進行重寫。
注意事項:
- 與 == 的區別
- == 基本類型比較的是值
- == 引用類型比較的是地址值
- equeals重寫之後一定用來比較類中成員的值,否則沒有意義。
- equals方法被重寫時,因爲equals方法接受的參數是Object類型,因此不能調用子類特有的方法,需要在必要的時候向下轉型。
- 在向下轉型的過程中可能出現傳遞的參數可能不是相應的子類類型,因此需要
instanceof
進行判斷。 - 爲了避免方法傳入null引發異常,因此需要在方法開始就判斷是否爲null。
- 爲了提高效率還可以通過 == 判斷是否爲自身,省去後面的轉型判斷。
- 總結性解決:直接通過idea生成equals代碼,快捷鍵:Alt + insert
2、toString
默認成員方法是返回對象的地址值