/*
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));
}
} |
|