CompareObject
package 接口;
public interface CompareObject {
public int compareTo(Object o);
}
Circle
package 接口;
public class Circle {
private double redius;
public Circle(double redius){
this.redius = redius;
}
public Circle() {
}
public double getRedius() {
return redius;
}
public void setRedius(double redius) {
this.redius = redius;
}
}
ComparableCircle
package 接口;
public class ComparableCircle extends Circle implements CompareObject {
public ComparableCircle(double redius) {
super(redius);
}
public int compareTo(Object o) {
if(this == o)
return 0;
if(o instanceof ComparableCircle) {
ComparableCircle c = (ComparableCircle) o;
if(this.getRedius() > c.getRedius())
return 1;
else if(this.getRedius() < c.getRedius())
return -1;
else
return 0;
}else {
throw new RuntimeException("传入的数据类型不匹配");
}
}
}
InterfaceTest
package 接口;
public class InterfaceTest {
public static void main(String[] args) {
ComparableCircle c1 = new ComparableCircle(3);
ComparableCircle c2 = new ComparableCircle(3);
System.out.println(c1.compareTo(c2));
}
}