Java教程

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

 

这篇关于javaObject类-equals方法及覆盖的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!