用java帮我写1.定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类(即它们为两个子类),这两个类都用getArea()方法计算对象的面积。编写应用程序使用Rectangle和Circle类
时间: 2024-12-14 07:22:49 浏览: 11
在Java中,你可以按照以下步骤创建一个抽象类`Shape`,以及它的两个子类`Rectangle`和`Circle`:
首先,我们定义抽象类`Shape`,包含一个抽象方法`getArea()`:
```java
import java.util.Scanner;
abstract class Shape {
// 抽象方法,用于获取面积
abstract double getArea();
// 主方法展示如何使用抽象类
public void printArea() {
System.out.println("The area of this shape is: " + getArea());
}
}
// 子类Rectangle
class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
double getArea() {
return length * width;
}
// 如果需要,可以添加主方法来实例化并打印矩形的面积
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter rectangle length: ");
double length = scanner.nextDouble();
System.out.print("Enter rectangle width: ");
double width = scanner.nextDouble();
Rectangle rect = new Rectangle(length, width);
rect.printArea();
}
}
// 子类Circle
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
double getArea() {
return Math.PI * Math.pow(radius, 2);
}
// 类似于Rectangle的main方法,这里省略了
}
```
在这个例子中,`Rectangle`和`Circle`子类实现了`Shape`的`getArea()`方法,并分别计算矩形和圆形的面积。在`main()`方法里,你可以创建`Rectangle`和`Circle`的对象,并调用它们的`printArea()`方法来显示各自的面积。
阅读全文