Object類詳解
/**
* 測試Object類 所有類的繼承源頭
*/
public class TestObject {
? ?//默認TestObject extends java.lang.Object
? ?public static void main(String[] args) {
? ? ? ?TestObject o1 = new TestObject();
? ? ? ?System.out.println(o1);
? ? ? ?//默認打印o1.toString() toString()方法繼承于Object類
? ? ? ?System.out.println(o1.toString());
? ? ? ?/*結(jié)果 com.diva.test.TestObject@1b6d3586
? ? ? ?包(路徑)com-diva-test-類TestObject @ 地址轉(zhuǎn)換十六進制
? ? ? ? */
? ?}
}
class To1{
? ?int id;
? ?int number;
? ?@Override
? ?//重寫
? ?public String toString() {
? ? ? ?return "To1{" +
? ? ? ? ? ? ? ?"id=" + id +
? ? ? ? ? ? ? ?", number=" + number +
? ? ? ? ? ? ? ?'}';
? ?}
? ?public static void main(String[] args) {
? ? ? ?To1 o2 = new To1();
? ? ? ?System.out.println(o2);
? ? ? ?//打印仍默認?o2.toString 結(jié)果受重寫影響
? ? ? ?String a ?= "a";
? ? ? ?String b = "a";
? ? ? ?System.out.println(a.equals(b));
? ? ? ?/*調(diào)用繼承自O(shè)bject的equals(Object obj)方法
? ? ? ?{return this(a) == obj(b)}
? ? ? ? */
? ?}
}
class To2 {
? ?int id;
? ?//右鍵 generate equals() 更改判斷標準為this.id == id
? ?@Override
? ?public boolean equals(Object o) {
? ? ? ?if (this == o) return true;
? ? ? ?//先判斷地址
? ? ? ?if (o == null || getClass() != o.getClass()) return false;
? ? ? ?//判斷 類是否一致
? ? ? ?To2 to2 = (To2) o;
? ? ? ?return id == to2.id;
? ? ? ?//判斷id相同
? ?}
}