编写一个完整的程序。包含声明一个接口shape2D,类circle,rectangle,test。接口shape2d,接口方法和属性,求一个形状的面积,定义常量,表示长方形宽度,长度,构造函数,输入矩形描述信息
时间: 2024-01-03 18:04:53 浏览: 117
好的,以下是一个简单的程序实现:
```java
// 定义接口shape2D
interface shape2D {
double getArea();
}
// 定义圆形类circle
class circle implements shape2D {
private double radius;
public circle(double r) {
radius = r;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
// 定义矩形类rectangle
class rectangle implements shape2D {
private double length, width;
public rectangle(double l, double w) {
length = l;
width = w;
}
public double getArea() {
return length * width;
}
}
// 定义测试类test
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) {
shape2D[] shapes = new shape2D[2];
shapes[0] = new circle(5);
shapes[1] = new rectangle(RECTANGLE_LENGTH, RECTANGLE_WIDTH);
for (int i = 0; i < shapes.length; i++) {
System.out.println("Area of shape " + (i + 1) + ": " + shapes[i].getArea());
}
rectangle rect = new rectangle(RECTANGLE_LENGTH, RECTANGLE_WIDTH);
System.out.println("The area of the rectangle is: " + rect.getArea());
System.out.println("The rectangle description is: length=" + RECTANGLE_LENGTH + ", width=" + RECTANGLE_WIDTH);
}
}
```
在这个程序中,我们定义了一个接口`shape2D`,它包含一个抽象的方法`getArea()`。然后我们分别定义了圆形类`circle`和矩形类`rectangle`,它们都实现了`shape2D`接口,并分别实现了`getArea()`方法来计算自己的面积。我们还在测试类中定义了一个常量`RECTANGLE_WIDTH`和`RECTANGLE_LENGTH`,表示矩形的宽度和长度。在测试类的`main()`方法中,我们创建了两个不同的形状对象,并通过遍历数组来输出它们的面积。接着我们创建了一个矩形对象`rect`,并调用它的`getArea()`方法来计算面积。最后,我们输出了矩形的描述信息。
阅读全文