以一段Java代码为例子说明多态性的用处
时间: 2024-03-24 13:37:35 浏览: 73
java中多态的使用实例
4星 · 用户满意度95%
好的,以下是一个简单的Java代码示例来说明多态性的用处:
假设我们有一个基类 `Shape`,和两个派生类 `Rectangle` 和 `Circle`,它们都有一个公共的成员函数 `calcArea()`,但实现方式不同,比如:
```java
public class Shape {
public double calcArea() {
// 基类中的默认实现
return 0.0;
}
}
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double calcArea() {
return width * height;
}
}
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double calcArea() {
return Math.PI * radius * radius;
}
}
```
现在我们可以创建一个存储基类对象的数组,然后向其中添加多个派生类实例,比如:
```java
Shape[] shapes = new Shape[2];
shapes[0] = new Rectangle(3.0, 4.0);
shapes[1] = new Circle(2.0);
```
然后我们可以遍历这个数组,调用其中每个实例的 `calcArea()` 函数,例如:
```java
for (Shape shape : shapes) {
System.out.println("Area of " + shape.getClass().getSimpleName() + ": " + shape.calcArea());
}
```
这里就体现了多态性的用处:我们只需要用基类引用指向不同的派生类对象,就可以通过调用它们的共同函数来执行不同的实现代码。这样就方便了代码的扩展和维护,也提高了代码的复用性和灵活性。
阅读全文