1. 程式人生 > >Java根類 Object

Java根類 Object

Object介紹

  • 它是所有類的超類,其他類都直接或間接繼承Object 是其他類的根類

Object類的hashCode()方法

  • public int hashCode()
    • 返回該物件的雜湊碼值(int型的)。預設情況下,該方法會根據物件的地址來計算。
    • 不同物件的,hashCode()一般來說不會相同。但是,同一個物件的hashCode()值肯定相同。

getClass()方法

  • public final Class getClass()
  • 返回此 Object 的執行時類。(也可稱為拿到了class的位元組碼檔案)
  • 可以通過Class類中的一個方法,獲取物件的真實類的全名稱。
class test{
public static void main(String[] args){
	Random rand = new Random();
	Class cl = rand.getCalss();
	String name = cl.getName();
	System.out.println(name);
	}
}

結果為:java.util.Random

toString()方法

  • public String toString()
  • a:返回該物件的字串表示。
	public Stirng toString() {
		return name + "," + age;
	}
  • 它的值等於:
    • getClass().getName() + “@” + Integer.toHexString(hashCode())
  • 由於預設情況下的資料對我們來說沒有意義,一般建議重寫該方法

equals()方法

  • 指示其他某個物件是否與此物件“相等”。
  • 預設情況下比較的是物件的引用是否相同。
  • 由於比較物件的引用沒有意義,一般建議重寫該方法。
  • ==是一個比較運算子號,既可以比較基本資料型別,也可以比較引用資料型別,基本資料型別比較的是值,引用資料型別比較的是地址值
  • equals方法是一個方法,只能比較引用資料型別,所有的物件都會繼承Object類中的方法,如果沒有重寫Object類中的equals方法,equals方法和==號比較引用資料型別無區別,重寫後的equals方法比較的是物件中的屬性