1、创建抽象类CompareObject:
public interface CompareObject {
//比较的抽象类方法
public double compareTo(Object o);
}
2、创建Rectangle类【矩形】:
public class Rectangle {
//定义矩形类Rectangle和ComparableRectangle类,在ComparableRectangle类中给出compareTo方法的实现,比较两个矩形的面积大小。
//定义矩形的长和宽
private double wide;
private double len;
//无参构造方法
public Rectangle(){
}
//有参构造 对其进行初始化赋值
public Rectangle(double wide,double len){
this.len = len;
this.wide = wide;
}
//该方法用于计算面积
public double area(){
return wide*len;
}
}
3、抽象类CompareObject的实现类ComparableRectangle:
public class ComparableCircle extends Rectangle implements CompareObject{
//该类的有参构造方法
public ComparableCircle(double wide,double len){
super(wide, len);
}
//重写抽象类方法
@Override
public double compareTo(Object o) {
//将Object类进行向下转型
//将Object类转型为Rectangle类型
//以便调用Rectangle类中的area()方法进行比较面积
Rectangle r = (Rectangle) o;
return this.area() - r.area();
}
}
4、编写测试类RectangleTest进行测试:
public class RectangleTest {
//创建测试类
public static void main(String[] args) {
//创建两个对象进行比较
ComparableCircle c1 = new ComparableCircle(4,2);
ComparableCircle c2 = new ComparableCircle(4,2);
//调用compareTo方法进行比较c1与c2的大小
System.out.println(c1.compareTo(c2));
}
}
代码编写思路:
定义一个Rectangle
类。
定义一个
ComparableRectangle类,继承Rectangle类并且实现CompareObject
接口。在ComparableRectangle类中给出接口中方法compareTo
的实现体,用来比较两个矩形的面积大小。
定义一个测试类RectangleTest
,创建两个ComparableRectangle
对象,调用compareTo
方法比较两个类的面积大小。
有些细节有问题 请见谅!!