【发布时间】:2015-02-09 03:50:26
【问题描述】:
这是我的超类 equals() 方法:
public boolean equals(Object other){
Car c = (Car)other;
if(this.make.equals(c.make) && this.model.equals(c.model)){
System.out.println("True, Cars are equal");
return true;
}
else
System.out.println("False, Cars are not equal");
return false;
}
这是我的子类 equals() 方法:
public boolean equals(Object other) {
GreenCar g = (GreenCar) other;
if(super.equals(g)==true){
if (this.type.equals(g.type)) {
System.out.println("True, Cars are equal");
return true;
} else {
System.out.println("False, Cars are not equal");
return false;
}
}
else
System.out.println("False, Cars are not equal");
return false;
}
当它在if(super.equals(g)==true){ 运行检查时,它会执行该方法并打印出 true 或 false。我如何才能检查返回值?
【问题讨论】:
-
请将晚餐改为超级。此外,如果您希望
equals()方法不打印任何内容,只需删除打印语句即可。 -
在您的
super类中删除对System.out.println的调用。