java继承circle类_创建名为Comparable的类,它继承自Circle类,并实现Comparable接口。实现compareTo方法,使其根据面积比较两个圆。编写一个测试程序求出Compa...
时间: 2024-02-26 11:58:59 浏览: 120
好的,我来解答您的问题。
以下是实现继承Circle类和实现Comparable接口的Comparable类的代码:
```java
public class Comparable extends Circle implements java.lang.Comparable<Comparable> {
public Comparable(double radius) {
super(radius);
}
@Override
public int compareTo(Comparable otherCircle) {
if (getArea() > otherCircle.getArea())
return 1;
else if (getArea() < otherCircle.getArea())
return -1;
else
return 0;
}
}
```
在上面的代码中,Comparable类继承自Circle类,并实现了Comparable接口。在compareTo方法中,我们根据两个圆的面积大小比较它们,并返回一个整数值来表示它们的大小关系。
接下来,我们来编写一个测试程序来测试我们的Comparable类:
```java
public class TestComparable {
public static void main(String[] args) {
Comparable c1 = new Comparable(5);
Comparable c2 = new Comparable(10);
System.out.println("c1 area: " + c1.getArea());
System.out.println("c2 area: " + c2.getArea());
if (c1.compareTo(c2) > 0)
System.out.println("c1 is larger than c2");
else if (c1.compareTo(c2) < 0)
System.out.println("c1 is smaller than c2");
else
System.out.println("c1 is equal to c2");
}
}
```
在上面的测试程序中,我们首先创建了两个Comparable对象c1和c2,并输出它们的面积。然后,我们使用compareTo方法比较它们,并输出比较结果。
运行上面的测试程序,将会得到以下输出结果:
```
c1 area: 78.53981633974483
c2 area: 314.1592653589793
c1 is smaller than c2
```
从输出结果中可以看出,我们的Comparable类成功地实现了根据面积比较两个圆的功能。
阅读全文