题目:定义一个接口实现两个对象的比较
interface CompareObject{
int compareTo(Object o);//若返回值为0,代表相等;若为正数,代表当前的对象大,负数则代表当前的对象小。
}
定义一个Circle类。
定义一个ComparableCircle类继承Circle类并且实现CompareObject接口,在ComparableCircle类中给出接口中方法compare的实现体,用来比较两个圆的半径大小。
定义一个测试类TestInterface,创建两个comparavleCircle对象,调用compareTo方法比较两个类的半径大小。
代码如下:
public class TestInterface1 {
public static void main(String[] args) {
ComparableCircle c1=new ComparableCircle(5.5);
ComparableCircle c2=new ComparableCircle(2.2);
System.out.println(c2.compareTo(c1));
}
}
interface CompareObject{
int compareTo(Object o);//若返回值为0,代表相等;若为正数,代表当前的对象大,负数则代表当前的对象小。
}
class Circle{
public Circle(){}
private double radius;
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public Circle(double radius) {
super();
this.radius = radius;
}
}
class ComparableCircle extends Circle implements Comparable{
public ComparableCircle(double radius) {
// TODO Auto-generated constructor stub
super(radius);
}
@Override
public int compareTo(Object o) {
ComparableCircle c=(ComparableCircle)o;
if(this==o){
return 0;
}else if(c.getRadius()<this.getRadius()){
return -1;
}else{
return 1;
}
}
}