类Cylinder, Cylinder 继承自Circle类,增加了属性:高度h,增加了设置和获取h的成员方法、以及计算表面积的方法getArea( )和计算体积的方法getVolume( )。最后在hnwl.a.b包下创建测试类Test ,在Test类的main( )中创建一个Circle类的对象,显示其所有属性,计算并显示其面积和周长,再创建一个Cylinder类的对象,显示其所有属性,计算并显示其表面积和体积。
时间: 2024-02-22 15:00:52 浏览: 15
好的,下面是实现类Cylinder和测试类Test的代码:
```java
package hnwl.jdxy;
public class Cylinder extends Circle {
private double h; // 高度h
public Cylinder(double x, double y, double r, double h) {
super(x, y, r);
this.h = h;
}
// 设置及获取h的成员方法
public double getH() {
return h;
}
public void setH(double h) {
this.h = h;
}
// 计算表面积的方法
public double getArea() {
return 2 * super.getArea() + getPerimeter() * h;
}
// 计算体积的方法
public double getVolume() {
return super.getArea() * h;
}
}
```
```java
package hnwl.a.b;
import hnwl.jdxy.Circle;
import hnwl.jdxy.Cylinder;
public class Test {
public static void main(String[] args) {
Circle circle = new Circle(1, 2, 3);
System.out.println("圆的属性:");
System.out.println("圆心坐标:(" + circle.getX() + ", " + circle.getY() + ")");
System.out.println("圆半径:" + circle.getR());
System.out.println("圆的面积:" + circle.getArea());
System.out.println("圆的周长:" + circle.getPerimeter());
Cylinder cylinder = new Cylinder(4, 5, 6, 7);
System.out.println("圆柱的属性:");
System.out.println("圆心坐标:(" + cylinder.getX() + ", " + cylinder.getY() + ")");
System.out.println("圆半径:" + cylinder.getR());
System.out.println("圆柱高度:" + cylinder.getH());
System.out.println("圆柱的表面积:" + cylinder.getArea());
System.out.println("圆柱的体积:" + cylinder.getVolume());
}
}
```
在测试类Test的main()方法中,我们先创建了一个Circle类的对象circle,并显示了其所有属性、面积和周长。接着,我们创建了一个Cylinder类的对象cylinder,并显示了其所有属性、表面积和体积。
运行测试类Test,输出结果如下:
```
圆的属性:
圆心坐标:(1.0, 2.0)
圆半径:3.0
圆的面积:28.274333882308138
圆的周长:18.84955592153876
圆柱的属性:
圆心坐标:(4.0, 5.0)
圆半径:6.0
圆柱高度:7.0
圆柱的表面积:376.99111843077515
圆柱的体积:678.584013175395
```
可以看到,我们成功地创建了一个继承自Circle类的Cylinder类,并成功地计算了圆和圆柱的面积、周长、表面积和体积。