object
所有類的公共父類,一旦乙個類沒有顯示地繼承乙個類則其直接父類一定是object。
equals方法
當引用型別呼叫equals方法時,如果沒有重寫equals方法,則比較的是記憶體位址,如果重寫了equals方法則比較的是值的大小,但是string,date等重寫了equals方法,所以比較時不需要重寫equals方法,比較的是值的大小。
public class testequals
}class cat
public boolean equals(object obj)}}
return false;
}}
equals和==的區別
對於==,如果作用於基本資料型別的變數,則直接比較其儲存的 「值」是否相等;
如果作用於引用型別的變數,則比較的是所指向的物件的位址
對於equals方法,注意:equals方法不能作用於基本資料型別的變數
如果沒有對equals方法進行重寫,則比較的是引用型別的變數所指向的物件的位址;
諸如string、date等類對equals方法進行了重寫的話,比較的是所指向的物件的內容。
/**
* 字串的拼接實際上是又new出了乙個新的物件
* */
public class stringtest ;
string string = new string(c);//建立物件
system.out.println(string.hashcode());
string string2 = new string(c);
system.out.println(string2.hashcode());
string string3 = "abc";//常量池建立
system.out.println(string2.hashcode());
string string4 = "abc";//訪問常量池存在的物件
system.out.println(string2.hashcode());
system.out.println(string == string2); //f
system.out.println(string2 == string3); //f
system.out.println(string3 == string4); //t
system.out.println(string == string4); //f
}}
tostring方法
tostring方法可以返回乙個字串型別的關於該類的描述資訊,我們通常會重寫為我們需要的該物件的描述資訊,比如物件各屬性。
在某些情況下,雖然我們並沒有顯示的呼叫tostring方法,但是程式依舊會呼叫tostring方法
直接列印輸出物件時,會呼叫該物件的tostring()方法。//可以不寫出來
列印物件的時候,實際呼叫的物件實際指向的類的自我描述;
public class student
public void setname(string name)
public int getage()
public void setage(int age)
public char get***()
public void set***(char ***)
public void eat()
@override
public string tostring()
}
Java學習之Object類的equals 方法
喵喵喵 小北今天想把object類中的equals 方法想給大家更詳細的解釋一下下咯 首先equals 方法在預設的情況下比較的是物件的引用是否相同 源 public boolean equals object obj 其實呢string這個時候已經被重寫過了 因此輸出的結果就是 true 那麼如何...
java學習日記 Object類I
object類 object是所有類的父類,如果乙個類沒有使用extends關鍵字明確標識繼承另外乙個類,那麼這個類預設繼承object類。object類中的方法適合所有子類。object類中幾種重要的方法 1,tostring方法 在object類裡面定義tostring方法的時候,返回物件的雜湊...
java中object類 所有類的超類。
object類是所有類的超類,所有的類都是由object類擴充套件而來 但是沒有必要可以的去用類繼承object類。可以用object類引用任何型別的物件 object a new test 只有八種基本型別不是object型別擴充套件而來的 bit short int long char floa...