public int hashcode()方法 擷取對象的哈希碼值
* a:傳回該對象的哈希碼值。不是位址值,預設情況下,該方法會根據對象的位址來計算。 * b:不同對象的,hashcode()一般來說不會相同。但是,同一個對象的hashcode()值肯定相同。 hashcode 有啥用:這個哈希碼值和我們後期講解的資料結構中哈希表結構這種資料結構有關系
public final class getclass()方法 擷取一個類對應的位元組碼檔案對象
* a:傳回此 object 的運作時類。 * b:可以通過class類中的一個方法,擷取對象的真實類的全名稱。
public string tostring()方法 傳回對象的字元串表現形式
它的值等于: getclass().getname() + "@" + integer.tohexstring(hashcode())
由于預設情況下的資料對我們來說沒有意義,一般建議重寫該方法。更友善的顯示屬性值
public boolean equals(object obj)方法 比較兩個對象是否相等
重寫需要向下轉型,因為無法通路子類的特有屬性和方法
public boolean equals(object obj){
student s = (student) obj;
return this.name.equals(s.name) && this.age == s.age;
}
* a:訓示其他某個對象是否與此對象“相等”。
* b:預設情況下比較的是對象的引用是否相同。
* c:由于比較對象的引用沒有意義,一般建議重寫該方法