重写equals方法时,注意传参类型为Object
public class Testequals
{
public static void main(String[] args)
{
Object circle1 = new Circle();
Object circle2 = new Circle();
System.out.println(circle1.equals(circle2));
}
}
class Circle
{
double radius;
/*
//这个才是正确的写法
public boolean equals(Object circle){
return this.radius == ((Circle)circle).radius;
}
*/
public boolean equals(Circle circle){//用这个的话,相当于没有重写,返回的是false。
System.out.println("只要方法名是equals,无论怎么调用,都调用不到这个");
return this.radius == circle.radius;
}
}