Java中所有類的父類——非常重要的Object類。
在Java中,所有的基類都有一個默認的父類,那就是Object類。Object類有下面幾種方法
boolean equals(Object obj);//判斷某個對象與此對象是否相等
final Class<?> getClass();//返回此Object的運行時類
int hashCode();//返回該對象的哈希碼值
String toString();//返回該對象的字符串表示
void finalize();//垃圾回收器調用此方法來清理沒有被任何引用變量所引用的資源
Object clone();//返回該對象的克隆
在Object類中,這些函數需要我們重寫才能達到相應的功能。下面以重載toString函數爲例:
我們發現可以直接用System.out.println()輸出自己的字符串表示。
package test;
class A {
int a;
A(){};
public String toString() {
return "This class A of toString function";
}
}
public class Kit {
public static void main(String[] arg) {
A aa = new A();
System.out.println(aa);//輸出 This class A of toString function
}
}
另外Object的equals函數是判斷兩個對象是否引用的同一個對象,更確切的說是變量引用的對象內存地址是否爲相等,而不是比較他們的內容是否一樣 。
但是我們可以對equals函數進行重載,來達到我們的目的(判斷對象的內容是否一樣)。
這裏需要注意的是’=='也是判斷兩個對象變量引用的對象是否相同,而不是比較他們的內容(或者你可以理解爲對象變量裏面存的都是引用對應的地址)