2、 创建名为ComparableCircle的类,它继承自Circle类,并实现Comparable接口,实现compareTo方法,使其根据半径比较两个圆,编写测试程序求出两个ComparableCircle实例对象的较大者,返回较大者的半径。
时间: 2024-05-03 12:19:18 浏览: 158
下面是实现ComparableCircle类的代码:
```java
public class ComparableCircle extends Circle implements Comparable<ComparableCircle> {
public ComparableCircle(double radius) {
super(radius);
}
@Override
public int compareTo(ComparableCircle o) {
if (this.getRadius() > o.getRadius()) {
return 1;
} else if (this.getRadius() < o.getRadius()) {
return -1;
} else {
return 0;
}
}
public static void main(String[] args) {
ComparableCircle c1 = new ComparableCircle(5.0);
ComparableCircle c2 = new ComparableCircle(3.0);
ComparableCircle max = c1.compareTo(c2) > 0 ? c1 : c2;
System.out.println("The larger circle has a radius of " + max.getRadius());
}
}
```
在这个类中,我们使用了`super`关键字来调用父类`Circle`的构造方法来创建圆。然后,我们实现了`Comparable`接口,并重写了`compareTo`方法,比较两个圆的半径大小。
在`main`方法中,我们创建了两个`ComparableCircle`实例对象`c1`和`c2`,并使用`compareTo`方法比较它们的大小。然后,我们使用三元运算符来选择较大的圆,并输出其半径值。
当我们运行这个程序时,它会输出如下结果:
```
The larger circle has a radius of 5.0
```
这表明,`c1`的半径大于`c2`的半径,因此程序输出的是`c1`的半径值。
阅读全文