黑马程序员技术交流社区

标题: Object中equals的一个小应用 [打印本页]

作者: 追逐    时间: 2014-3-15 18:04
标题: Object中equals的一个小应用
/*
Object:是所有对象的直接或者间接父类,传说中的上帝
该类中定义的肯定是所有对象都具备的功能。

Object类中已经提供了比较相同的功能,没有必要重新定义。
只要沿袭父类中的功能,建立自己的特有比较内容即可。这就是覆盖。
*/
class EqualsDemoOne {
       
        private int x;
        EqualsDemoOne(int x) {
                this.x = x;
        }
       
        //写一个equals语句。覆盖父类的equals方法
        public boolean equals(Object obj) {
                if(!(obj instanceof EqualsDemoOne)) //判断一下。给的参数是否属于EqualsDemoOne类
                        return false; //如果不属于就直接返回false
                EqualsDemoOne d = (EqualsDemoOne)obj; //如果属于。就把Object类对象强制转成成EqualsDemoOne的对象
                return this.x == d.x;
        }
       
}

//测试运行类
class EqualsDemo {
        public static void main(String[] args) {
                EqualsDemoOne e = new EqualsDemoOne(3);
                EqualsDemoOne e1 = new EqualsDemoOne(4);
                System.out.println(e.equals(e1));
        }
}




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