修改一下下面的代码 public class Circle { private double Radius; public Circle() { Radius = 0; } public Circle(double r) { Radius = r; } public double getArea() { return Math.PI * Radius * Radius; } public double getPerimeter() { return 2 * Math.PI * Radius; } public void show() { System.out.printf("圆半径:%.1f\n", Radius); System.out.printf("圆周长:%.3f\n", getPerimeter()); System.out.printf("圆面积:%.3f\n", getArea()); } } public class Cylinder extends Circle { private double height; public Cylinder(double r, double h) { super(r); height = h; } public double getVolume() { return super.getArea() * height; } public double getSurface() { return super.getPerimeter() * height; } public void showCircle() { System.out.printf("圆柱侧面积:%.3f\n", getSurface()); System.out.printf("圆柱体积:%.3f\n", getVolume()); } } public class Main { public static void main(String[] args) { Circle circle = new Circle(6); circle.show(); Cylinder cylinder = new Cylinder(8, 10); cylinder.showCircle(); } }
时间: 2024-01-19 16:03:16 浏览: 21
可以将 Circle 类中的 Radius 成员变量改为私有变量并提供一个访问器方法:
```
public class Circle {
private double radius; // 将 Radius 改为小写的 radius
public Circle() {
radius = 0;
}
public Circle(double r) {
radius = r;
}
public double getRadius() { // 添加访问器方法
return radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
public void show() {
System.out.printf("圆半径:%.1f\n", radius);
System.out.printf("圆周长:%.3f\n", getPerimeter());
System.out.printf("圆面积:%.3f\n", getArea());
}
}
```
还可以在 Cylinder 类中添加一个 show() 方法来展示圆柱的基本信息和附加信息:
```
public class Cylinder extends Circle {
private double height;
public Cylinder(double r, double h) {
super(r);
height = h;
}
public double getVolume() {
return super.getArea() * height;
}
public double getSurface() {
return super.getPerimeter() * height;
}
public void show() {
super.show(); // 调用父类的 show() 方法展示圆的基本信息
System.out.printf("圆柱高度:%.1f\n", height);
System.out.printf("圆柱侧面积:%.3f\n", getSurface());
System.out.printf("圆柱体积:%.3f\n", getVolume());
}
}
```
在 Main 类中,可以修改为使用 Cylinder 类的 show() 方法来展示圆柱的信息:
```
public class Main {
public static void main(String[] args) {
Circle circle = new Circle(6);
circle.show();
Cylinder cylinder = new Cylinder(8, 10);
cylinder.show(); // 修改为使用 Cylinder 类的 show() 方法展示圆柱信息
}
}
```