javaObject类-equals方法及覆盖_数据javaObject类-equals方法及覆盖_数据_02
 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