编写一个Java程序,在程序中定义一个抽象类Shape,再定义二个Shape类的子类Rectangle、Circle类,在子类中实现父类的抽象方法。
时间: 2024-03-03 18:48:59 浏览: 81
好的,这是Java程序代码:
```java
// 定义抽象类Shape
abstract class Shape {
// 定义抽象方法
abstract double area();
}
// 定义Rectangle类,继承自Shape类
class Rectangle extends Shape {
private double width;
private double height;
// 构造方法
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
// 实现父类的抽象方法
public double area() {
return width * height;
}
}
// 定义Circle类,继承自Shape类
class Circle extends Shape {
private double radius;
// 构造方法
public Circle(double radius) {
this.radius = radius;
}
// 实现父类的抽象方法
public double area() {
return Math.PI * radius * radius;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Shape rectangle = new Rectangle(3, 4);
Shape circle = new Circle(5);
// 调用area()方法
System.out.println("矩形的面积为:" + rectangle.area());
System.out.println("圆的面积为:" + circle.area());
}
}
```
以上代码中,我们定义了一个抽象类Shape,和两个继承自Shape类的子类Rectangle和Circle类。在Shape类中,我们定义了一个抽象方法area(),在子类中实现了这个方法。最后,我们在测试类中创建了一个Rectangle对象和一个Circle对象,分别调用它们的area()方法,计算并输出它们的面积。
阅读全文