1. 程式人生 > 其它 >javaObject類-equals方法及覆蓋

javaObject類-equals方法及覆蓋

 1 package face_object;
 2 /*
 3  * Object:所有類的根類。
 4  * Object是不斷抽取而來的,具備所有物件都具備的共性內容。
 5  * 常用的共性功能:
 6  * 
 7  * 
 8  */
 9 
10 /*class Fu {// extends Object
11     Fu(){
12         super();
13     }
14 }
15 class Zi extends Fu {
16     Zi(){
17         super();
18     }
19 }
20 */
21 class Person extends
Object{ 22 private int age; 23 Person(int age){ 24 this.age = age; 25 } 26 //比較Person的年齡。是否是同齡人 27 /*public boolean compare(Person p) { 28 return this.age == p.age; 29 }*/ 30 /* 31 * 一般都會覆蓋此方法,根據物件的特有內容,建立判斷物件是否相等的依據。 32 */ 33 public boolean equals(Object obj) {//
重寫 34 if(!(obj instanceof Person)) { 35 throw new ClassCastException("型別錯誤"); 36 } 37 Person p = (Person)obj; 38 return this.age == p.age; 39 } 40 } 41 class Demo { 42 43 } 44 45 46 public class ObjectDemo { 47 public static void main(String[] args) {
48 Person p1 = new Person(20); 49 Person p2 = new Person(20); 50 Person p3 = p1; 51 Demo d = new Demo(); 52 System.out.println(p1==p2); 53 System.out.println(p1.equals(p3)); 54 System.out.println(p1.equals(d)); 55 56 } 57 }
View Code