4、(抽象类)编写一个Java程序,在程序中定义一个抽象类Shape,包含两个抽象方法,一个是计算面积 area() ,一个是显示面积 showArea(),再定义Shape类的两个子类 Rectangle 类和 Circle 类,设计一个程序,输出矩形和圆的面积
时间: 2024-02-09 19:09:37 浏览: 29
代码如下:
```java
abstract class Shape {
abstract double area();
abstract void showArea();
}
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;
}
public void showArea() {
System.out.println("矩形的面积为:" + area());
}
}
class Circle extends Shape {
private double radius;
private final double pi = 3.14;
public Circle(double radius) {
this.radius = radius;
}
public double area() {
return pi * radius * radius;
}
public void showArea() {
System.out.println("圆的面积为:" + area());
}
}
public class Main {
public static void main(String[] args) {
Rectangle rectangle = new Rectangle(5, 10);
Circle circle = new Circle(3);
rectangle.showArea(); //输出:矩形的面积为:50.0
circle.showArea(); //输出:圆的面积为:28.26
}
}
```
在 Shape 抽象类中定义了两个抽象方法 area() 和 showArea(),分别用于计算面积和显示面积。Rectangle 和 Circle 两个类分别继承了 Shape 抽象类,并实现了其抽象方法。在 Main 类中,分别创建了 Rectangle 和 Circle 的实例,并调用了它们的 showArea() 方法,输出了矩形和圆的面积。