上面的代码不要用private再写一遍
时间: 2024-03-05 12:52:14 浏览: 18
好的,以下是不使用 `private` 的代码实现:
```
// 图形类
public class Picture {
String name;
double length;
public Picture(String name, double length) {
this.name = name;
this.length = length;
}
public double getLength() {
return length;
}
public double getArea() {
return 0;
}
public double getCircumference() {
return 0;
}
public void display() {
System.out.println("图形名为:" + name);
}
}
// 圆形类
public class Circle extends Picture {
public Circle(String name, double length) {
super(name, length);
}
@Override
public double getArea() {
return Math.PI * getLength() * getLength() / 4;
}
@Override
public double getCircumference() {
return Math.PI * getLength();
}
}
// 矩形类
public class Rect extends Picture {
public Rect(String name, double length) {
super(name, length);
}
@Override
public double getArea() {
return getLength() * getLength();
}
@Override
public double getCircumference() {
return 4 * getLength();
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Picture picture = new Picture("正方形", 10);
picture.display();
System.out.println(picture.getArea());
Rect rect = new Rect("正方形", 10);
rect.display();
System.out.println(rect.getArea());
}
}
```
输出结果与上一个实现是一样的。