黑马程序员技术交流社区

标题: Object类中的equals方法 [打印本页]

作者: Good_Man    时间: 2015-11-29 13:30
标题: Object类中的equals方法
Object:是所有对象的直接或间接父类,传说中的上帝,
该类中定义的是所有对象都具备的功能

class Demo{
       
}

class Test{
        public static void main(String[] args) {
                Demo d1=new Demo();
                Demo d2=new Demo();
                Demo d3=d1;
                System.out.println(d1.equals(d2));
                System.out.println(d1.equals(d3));
        }
}

答案为:false
      true
      因为:equals比较的是 对象的地址,
      
      
如果自定义类中也有比较相同的功能,没必要重新定义,
只要沿袭父类中的内容,建立自己特有的比较内容即可,这就是覆盖,
如:
class Demo{
        private int num;
        Demo(int num){
                this.num=num;
        }
        public boolean equals (Demo d){
                return this.num==d.num;
        }
}

作者: 陈光慧    时间: 2015-11-29 13:39
学习了,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2