用JAVA定义一个图形接口Shape,包含一个求面积的抽象方法。 定义圆形(Circle)和长方形(Rectangle)实现图形接口。 实例化圆形和长方形的对象,并输出面积(利用多态思想)
时间: 2024-11-24 09:42:31 浏览: 21
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
在Java中,我们可以定义一个名为`Shape`的抽象接口来描述所有图形的基本特性,比如求面积。首先,我们创建一个`Shape`接口:
```java
public interface Shape {
double getArea();
}
```
接下来,我们分别定义`Circle`和`Rectangle`两个类,它们都是`Shape`的实现,实现了`getArea()`方法:
```java
import java.util.List;
// 圆形类
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
// 长方形类
public class Rectangle implements Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
}
```
现在,我们可以实例化`Circle`和`Rectangle`的对象,并通过它们的公共接口`Shape`来调用`getArea()`方法,展示多态性:
```java
public class Main {
public static void main(String[] args) {
// 创建一个形状集合
List<Shape> shapes = new ArrayList<>();
shapes.add(new Circle(5)); // 圆形
shapes.add(new Rectangle(4, 6)); // 长方形
for (Shape shape : shapes) {
System.out.println("The area of the shape is: " + shape.getArea());
}
}
}
```
在这个例子中,尽管`shapes`列表中包含了圆形和长方形的不同对象,但我们只需要通过`Shape`类型的引用就能访问到各自计算面积的方法,这就是多态的应用。
阅读全文