嗨~
各位小夥伴大家好呀~
娜娜這兩天一直在想一個問題
接下來該寫點什麼?
追熱點又追不上
文筆還不好~
只能寫點教程文章這個樣子~
所以小夥伴們準備好
和娜娜一起捋一遍Java基礎了嗎?
那咱們開始了
今天先來認識一下 Object 類
Object 類
Object類概述
類 Object 是類層次結構的根類。每個類都使用 Object 作為超類。所有對象(包括數組)都實現這個類的方法。
簡單來說就是,Object類是所有類的父類,包括我們所寫的類,我們在使用類的時候就會利用Object類中的方法~
Object類的hashCode()方法
public int hashCode();
返回該對象的哈希碼值。默認情況下,該方法會根據對象的地址來計算。
不同對象的 hashCode() 的值一般是不相同。但是,同一個對象的hashCode() 值肯定相同。(就好像身份證號一樣,兩個人的身份賬號可能相同,但是一個人的身份證號肯定是不會變的~)
Object類的getClass()方法
public final Class getClass()
返回此 Object 的運行時類。
public String getName()
可以通過 Class 類中的一個方法,獲取對象的真實類的全名稱。
這個方法在反射中會有很大的作用哦~
Object類的toString()方法
public String toString()
返回該對象的字符串表示。
哎~和講好的不一樣呀~
別急~我們來看一下 toString() 方法的底層代碼:
getClass().getName() + "@" + Integer.toHexString(hashCode()) 這返回的是:類的全路徑名稱+它的哈希碼值~在實際的開發中對我們來說是沒有意義的~所以我們一般會重寫該方法。
重寫 toString 方法
Alt+Shift+s
就會彈出這個頁面
點擊進入下一步
然後點擊ok既可以了~
這下再運行代碼就不一樣了
(toString 是默認調用的可以省略哦~)
Object類的equals()方法
public boolean equals();
指示其他某個對象是否與此對象“相等”
查看底層代碼:
默認方法是比較的是對象的引用是否相同。由於比較對象的引用對於我們在實際開發中沒有意義,一般還是要重寫該方法。
步驟同上~
==號和equals方法的區別
“==” 是一個比較運算符號,既可以比較基本數據類型,也可以比較引用數據類型,基本數據類型比較的是值,引用數據類型比較的是地址值
equals() 方法是一個方法,只能比較引用數據類型,所有的對象都會繼承 Object 類中的方法,沒有重寫 Object 類中的 equals 方法,equals方法和==號比較引用數據類型無區別,重寫後的equals方法比較的是對象中的屬性。
我是萌新娜娜
立志做一個不翻車的老司機
學習Java的路上請多多指教
閱讀更多 JAVA小酷 的文章