Java Object 類
java 是面向物件的語言,所以程式設計的時候就是找適合的物件,做適合的事情。
方式一:自定義類,通過自定義的類建立物件
方式二:sun提供了很多類給我們使用,所以需要認這些類,通過這些類建立物件
學習這些類,必須先學習Object類,這是所有類的終極父類。
ctrl +f 搜尋
怎麼驗證所有類都繼承Object這個類呢?
--反編譯
--使用Object的方法試試
Object類常用的方法:
- toString(); 返回該物件的字串表示。 返回一個字串用於描述該物件的。
疑問: toString() 有何作用?
疑問2:為什麼直接輸出一個物件的時候和輸出物件使用tostring()方法的結果會是一樣的呢?
因為println( )是個方法,它就是接受一個物件之後,通過檢視原始碼得知,直接輸出一個物件 的時候,實際上在println方法內部會呼叫這個 呼叫的toString方法,把把toString方法返回的內容輸出。
java的原始碼是公開的,就存在JDK裡面的src的壓縮包。
檢視原始碼的方式:
1. ctrl +單擊原始碼
2. 可以按下F3,移動游標到程式碼處,
為什麼我們要檢視原始碼:
1. 檢視原始碼可以瞭解別人是如何寫出這個技術的,讓我們瞭解的更加的深入。
2. 吸收大牛的思想。
看原始碼最忌諱的一點: 不要每行程式碼都弄懂是什麼意思,能看個大概 猜出他意思就足矣。
---重寫toString之後,我們直接輸出一個物件的時候,就會輸出符合我們所需求的格式資料。
equals(Object obj) 用於比較兩個物件的記憶體地址,判斷兩個物件是否為同一個物件。
hashCode() 返回該物件的雜湊碼值(大家可以把雜湊碼就 理解成是物件的記憶體地址。
java中的規範:一般我們重寫了一個類的equals方法,我們都會重寫它的hashCode方法。
會造成矛盾。所以要重寫就要一塊重寫