定义一个接口CompareObject,具体方法compareTo()用于比较两个对象。 定义一个类Position从CompareObject派生而来,有x和y属性表示其坐标,此类实现compareTo()方法,用于比较两个对象距离原点(0,0)的距离。 定义测试类测试Position类的compareTo()方法。
public interface CompareObject<T extends CompareObject<T>> {
double compareTo(T other);
}
public class Position implements CompareObject<Position> {
private int x;
private int y;
public Position(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public double compareTo(Position other) {
return Math.sqrt(x * x + y * y) - Math.sqrt(other.x * other.x + other.y * other.y);
}
}
public class Test {
public static void main(String[] args) {
Position a = new Position(3, 4);
Position b = new Position(4, 5);
System.out.println(a.compareTo(b));
}
}
有帮助请采纳。