Object類

Object類是所有類的父類

主要有以下方法:

equals(): 方法內部判斷兩個對象是否==相等,也就是判斷對象的地址是否相等,如果相等那麼hashcode一定相等。這個方法可以被重寫,String重寫了這個方法,String的equals()方法判斷的是兩個字符串的值知否相等。

hashCode(): 該方法爲本地方法,返回的是該對象的hashCode值,hashcode是jdk根據對象的地址或者字符串或者數字算出來的int類型的數值,hashcode值相等,equeals不一定相等,因爲hashcode值並不一定是內存地址。HashMap中的put方法是給HashMap添加新的元素,會先調用hashCode()方法獲取要添加元素的hashcode值,然後查看table中是否存在該hashcode值,若存在則調用equals()方法確定是否存在該元素,若存在,則更信value值,若不存在則直接添加。從這裏可以看出來,hashcode的存在,是爲了減少equals的調用,從而提高程序的效率。

 ★equals相等,hashcode必須相等。
 ★hashcode相等,equals不一定相等。
 ★根據以上兩條準則,所以重寫equals()方法時需要重寫hashcode()方法。
 ★只要equals比較操作用到的信息沒變,那麼對同一個對象調用多次,hashcode必須始終如一的返回同一個整數。如果對象中的數據易變,則在重寫equals和hashcode方法的時候不要依賴該數據。

http://www.cnblogs.com/dolphin0520/p/3681042.html

toString(): 返回對象的字符串格式:類名@哈希碼值,一般類都會將他重寫。

getClass(): 本地方法,返回一個運行時類。

clone(): 克隆,複製一個新的對象並返回。

finalize(): 垃圾回收器認爲該對象是垃圾對象時會調用該方法,子類可以通過重寫該方法來達到資源釋放的目的。任何對象該方法只會被調用一次。

notify(): 本地方法,喚醒一個當前對象監視上等待的線程。

notifyAll(): 本地方法,喚醒當前對象監視上所有等待的線程。

wait(): 調用該方法會出現中斷異常,需捕獲。

發佈了28 篇原創文章 · 獲贊 3 · 訪問量 3521
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章