java创建ComparableCircle类,继承自Circle类,实现Comparable接口,根据面积比较两个圆。求出两个ComparableCircle实例对象的较大者
时间: 2024-01-22 14:19:15 浏览: 270
以下是Java代码实现:
```java
public class Circle {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
public class ComparableCircle extends Circle implements Comparable<ComparableCircle> {
public ComparableCircle(double radius) {
super(radius);
}
@Override
public int compareTo(ComparableCircle o) {
if (this.getArea() > o.getArea()) {
return 1;
} else if (this.getArea() < o.getArea()) {
return -1;
} else {
return 0;
}
}
}
public class Main {
public static void main(String[] args) {
ComparableCircle circle1 = new ComparableCircle(5);
ComparableCircle circle2 = new ComparableCircle(3);
ComparableCircle maxCircle = circle1.compareTo(circle2) > 0 ? circle1 : circle2;
System.out.println("The larger circle has radius: " + maxCircle.getRadius());
}
}
```
在上面的代码中,Circle类表示一个圆,包含半径和计算面积的方法。ComparableCircle类继承自Circle类,并实现了Comparable接口,用于比较两个ComparableCircle对象的大小。在Main类中,我们创建了两个ComparableCircle对象circle1和circle2,然后通过调用compareTo方法比较它们的面积大小,最后找出较大的圆并打印其半径。
阅读全文