定义一个圆类Circle,该类能根据圆的半径计算圆的面积和周长,同时也提供了修改半径和获取半径值的方法。再定义一个接口G3D,接口中定义一个求三维图形体积的方法getVolume()。然后定义一个圆锥CircularCone类,它是圆类Circle 的子类同时是G3D的实现类,它能根据底圆面积计算圆锥的体积。编写测试类,在类通过接口G3D回调对象,输出半径为10,高为15的圆锥的体积。
时间: 2024-02-29 22:53:19 浏览: 50
好的,我理解了你的问题。以下是对应的代码实现:
```java
interface G3D {
double getVolume(); // 求三维图形体积的方法
}
class Circle {
private double radius; // 圆的半径
public Circle(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getArea() { // 计算圆的面积
return Math.PI * radius * radius;
}
public double getPerimeter() { // 计算圆的周长
return 2 * Math.PI * radius;
}
}
class CircularCone extends Circle implements G3D {
private double height; // 圆锥的高
public CircularCone(double radius, double height) {
super(radius);
this.height = height;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
@Override
public double getVolume() { // 计算圆锥的体积
return super.getArea() * height / 3;
}
}
public class Test {
public static void main(String[] args) {
CircularCone cone = new CircularCone(10, 15); // 创建半径为10,高为15的圆锥对象
G3D g3d = cone; // 将圆锥对象转换为G3D接口对象
System.out.println("圆锥体积为:" + g3d.getVolume()); // 输出圆锥的体积
}
}
```
输出结果为:
```
圆锥体积为:1570.7963267948965
```
阅读全文