包含声明一个接口shape2d。类circle,rectangle,test。接口shape2d,求一个形状的面积,定义常量,表示长方形宽度,表示长方形长度和宽度,生成rectangle,circle对象
时间: 2024-01-26 21:01:39 浏览: 121
编写一个抽象类Shape
4星 · 用户满意度95%
以下是符合要求的Java代码:
```
// 定义形状接口
interface Shape2D {
double getArea();
}
// 定义圆形类
class Circle implements Shape2D {
private double radius;
public Circle(double r) {
radius = r;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
// 定义矩形类
class Rectangle implements Shape2D {
private double length, width;
public Rectangle(double l, double w) {
length = l;
width = w;
}
public double getArea() {
return length * width;
}
}
// 定义测试类
public class Test {
public static final double RECTANGLE_WIDTH = 4.0;
public static final double RECTANGLE_LENGTH = 6.0;
public static void main(String[] args) {
// 创建一个Circle对象
Circle circle = new Circle(5);
System.out.println("The area of the circle is: " + circle.getArea());
// 创建一个Rectangle对象
Rectangle rectangle = new Rectangle(RECTANGLE_LENGTH, RECTANGLE_WIDTH);
System.out.println("The area of the rectangle is: " + rectangle.getArea());
// 创建一个Shape2D类型的数组,分别存放Circle和Rectangle对象
Shape2D[] shapes = new Shape2D[2];
shapes[0] = circle;
shapes[1] = rectangle;
// 循环遍历数组,调用每个对象的getArea()方法计算出它们的面积并输出
for (int i = 0; i < shapes.length; i++) {
System.out.println("Area of shape " + (i + 1) + ": " + shapes[i].getArea());
}
}
}
```
在以上代码中,我们声明了一个Shape2D接口,包含了求一个形状的面积的方法getArea()。然后我们分别定义了一个Circle类和一个Rectangle类,并且都实现了Shape2D接口,分别表示圆形和矩形。接下来在Test类中,我们创建了一个Circle对象和一个Rectangle对象,并且分别计算出它们的面积并输出。最后,我们创建了一个Shape2D类型的数组,分别存放了Circle和Rectangle对象,并且循环遍历数组,调用每个对象的getArea()方法计算出它们的面积并输出。
阅读全文