看一下这段代码有啥问题 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-22 16:02:33 浏览: 57
Circle:Java圆的描述
这段代码没有明显的语法错误。但是,在 Circle 类中,Radius 成员变量没有进行私有化,可能会导致该变量被外部访问和修改。应该将其改为私有变量并提供一个访问器方法(如 getRadius())。此外,在 Main 类中,没有使用 Cylinder 中的 show() 方法展示圆柱的基本信息,只使用了 showCircle() 方法展示圆柱的侧面积和体积,这可能是不合适的。可以在 Cylinder 中提供一个 show() 方法,展示圆柱的基本信息和附加信息。
阅读全文