------java.lang.Object
Object:所有類的直接或者間接父類,Java認爲所有的對象都具備一些基本的共性內容,這些內容可以不斷的向上抽取,最終就抽取到了一個最頂層的類中的,該類中定義的就是所有對象都具備的功能。
具體方法:
1,boolean equals(Object obj)
用於比較兩個對象是否相等,其實內部比較的就是兩個對象地址。如果根據 equals(Object) 方法,兩個對象是相等的,那麼對這兩個對象中的每個對象調用 hashCode 方法都必須生成相同的整數結果; 而根據對象的屬性不同,判斷對象是否相同的具體內容也不一樣。所以在定義類時,一般都會複寫equals方法,建立本類特有的判斷對象是否相同的依據。
public boolean equals(Object obj){
if(!(obj instanceof Person))
return false;
Person p = (Person)obj;
return this.age == p.age;
}
2,String toString()
將對象變成字符串;默認返回的格式:類名@哈希值 = getClass().getName() + '@' + Integer.toHexString(hashCode()) 爲了對象對應的字符串內容有意義,可以通過複寫,建立該類對象自己特有的字符串表現形式。
public String toString(){ return "person : "+age; }
3,Class getClass():
獲取任意對象運行時的所屬字節碼文件對象。
4,int hashCode()
返回該對象的哈希碼值。支持此方法是爲了提高哈希表的性能。將該對象的內部地址轉換成一個整數來實現的。
通常equals,toString,hashCode,在應用中都會被複寫,建立具體對象的特有的內容。