public class TestComparableCircle
{
public static void main(String [] args)
{
ComparableCircle circle1 = new ComparableCircle(3);
ComparableCircle circle2 = new ComparableCircle(4);
int ret=circle1.compareTo(circle2);
if(1==ret)
{
System.out.println("circle1>circle2");
}
else if(-1==ret)
{
System.out.println("circle1<circle2");
}
else
{
System.out.println("circle1=circle2");
}
}
}
class ComparableCircle extends Circle
{
public ComparableCircle()
{
}
public ComparableCircle(double radius)
{
super(radius);
}
@Override
public int compareTo(ComparableCircle o)
{
if (super.getArea() > o.getArea())
//用已知的对象的面积和 o 进行比较
{
return 1;
}
else if (super.getArea() < o.getArea())
{
return -1;
}
else
return 0;
}
}
class Circle
{
private double radius;
public Circle()
{
}
public Circle(double radius)
{
this.radius=radius;
}
public double getRadius()
{
return radius;
}
public void setRadius(double radius)
{
this.radius = radius;
}
public double getArea()
{
return Math.PI * radius * radius;
}
}