java.lang.Obejct類.md

Java最基本的類型,其他類都將Object作爲超類,Obect類方法含有一下方法:

類型 方法 說明
protected Object clone() 創建、返回複製對象
boolean equals(Object obj) 對象比較,注意值比較區別
protected void finalize() GC方法,儘量少用
Class getClass() 返回對象使用方法
int hashCode() 返回對象散列數
void notify() 喚醒對象監控等待的單一線程
void notifyAll 喚醒對象監控等待的所有線程
String toString() 返回對象字符串形式
void wait() 線程等待
void wait(long timeout) 線程等待
void wait(long timeout, int nanos) 線程等待

Java.util.Object類

getClass方法

返回此對象的運行類,返回運行時對象static synchronized方法鎖定狀態下的類。
涉及Java反射。
.getClass()方法與.class區別在於
1. .getClass()是實例方法,類的Class類實例是通過.class獲得。
2. 出現的時期不同,.getClass()是運行時動態加載;.class是運行時加載;

hashCode方法

返回對象的散列值,應用在HashMap等需要hash計算的子類。
這裏的約定:
1. 同一對象多次使用hashCode,應返回相同的整數值。
2. 如果兩個對象在equals()返回值爲true,應返回相同的整數值。
3. 若equals()返回值爲false,返回值應當不同。然而hashCode()返回的不是所在的物理地址,也不是邏輯地址。hashCode()相同的兩個對象,可能對象不同。
因此,重寫equals()方法後,應當重寫hashCode()方法。

equals方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章