求个高手解答,关于子类的参数问题。
我在父类里重写了object.equals方法,然后我想在子类里也重写发现了个问题,红色部分参数obj怎么去访问父类的color,难道是obj.super.color?还有这样编译出错。
estEquals.java:40: error: bad operand types for binary operator '&&'
if(super.color == obj1.color && super.age == obj1.age &&
this.weight = weight){ ^
first type: boolean
second type: int
class Dog{
protected int color;
protected int age;
Dog(int color, int age){
this.color = color;
this.age = age;
}
public boolean equals(Object obj){
if(obj == null)return false;
if(obj instanceof Dog){
Dog obj1 = (Dog)obj;
if(this.color == obj1.color && this.age == obj1.age){
return true;
}
}
return false;
}
}
class DogSon extends Dog{
private int weight;
DogSon(int color, int age, int weight){
super(color, age);
this.weight = weight;
}
public boolean equals(Object obj){
if(obj == null)return false;
if(obj instanceof DogSon){
DogSon obj1 = (DogSon)obj;
if(super.color == obj1.color && super.age == obj1.age && this.weight = weight){
return true;
}
}
return false;
}
}