Java equals方法覆蓋
阿新 • • 發佈:2019-01-10
/* Object:所有類的根類 Object 是不斷抽取而來的,具備著所有物件都具有的共性 */ class Person extends Object{ private int age; Person(int age){ this.age=age; } /* 一般都會覆蓋此方法(equals),根據物件的特有內容,建立判斷物件是否相同的依據 */ public boolean equals(Object obj){ if(!(obj instanceof Person)){//健壯性判斷 因為Object 啥都能接收 所以判斷是不是Person 再比較年齡 //return false; throw new ClassCastException("型別錯誤");//拋異常 } Person p=(Person)obj; return this.age==p.age; } } class Demo{ } class ObjectDemo1{ public static void main(String[] args) { Person p1=new Person(20); Person p2=new Person(20); //Person p3=p1; Demo d=new Demo(); //System.out.println(p1==p2); System.out.println(p1.equals(d)); //System.out.println(p1==p3); } }