1. 程式人生 > >Java Object 類

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方法。

會造成矛盾。所以要重寫就要一塊重寫