定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Reactangle和Circle类,这两个类都用getArea()方法计算面积。编写测试类创建Reactangle和Circle对象,分别输出他们的面积
时间: 2024-02-15 13:01:59 浏览: 76
好的,我可以为您解答这个问题。以下是示例代码:
```java
// 定义抽象类 Shape
abstract class Shape {
// 声明一个抽象方法 getArea()
public abstract double getArea();
}
// 派生出 Rectangle 类
class Rectangle extends Shape {
private double length;
private double width;
// 构造函数
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 实现 getArea() 方法
public double getArea() {
return length * width;
}
}
// 派生出 Circle 类
class Circle extends Shape {
private double radius;
// 构造函数
public Circle(double radius) {
this.radius = radius;
}
// 实现 getArea() 方法
public double getArea() {
return Math.PI * radius * radius;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 创建 Rectangle 和 Circle 对象
Rectangle rectangle = new Rectangle(5, 10);
Circle circle = new Circle(5);
// 输出面积
System.out.println("Rectangle area: " + rectangle.getArea());
System.out.println("Circle area: " + circle.getArea());
}
}
```
运行结果如下:
```
Rectangle area: 50.0
Circle area: 78.53981633974483
```
这个示例展示了如何定义抽象类和抽象方法,并在派生类中实现这些方法。同时,我们也可以使用测试类来创建对象并调用方法,以验证代码的正确性。
阅读全文