java中多态是啥,举例说明
时间: 2024-06-21 11:03:40 浏览: 99
在Java中,多态(Polymorphism)是一种强大的面向对象编程概念,它允许一个接口或父类的方法被其子类的不同实现所重写,从而在同一类型的引用变量上使用不同对象的行为。这样,无论实际对象是什么类型,都可以通过统一的接口进行操作,提高了代码的灵活性和可扩展性。
例如,假设有一个`Shape`接口和两个实现了它的类:`Circle`和`Rectangle`。它们都有一个`draw()`方法:
```java
interface Shape {
void draw();
}
class Circle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a rectangle");
}
}
```
在这个例子中,你可以创建一个`Shape`类型的引用变量并分别指向`Circle`和`Rectangle`对象:
```java
Shape shape1 = new Circle();
Shape shape2 = new Rectangle();
shape1.draw(); // 输出: Drawing a circle
shape2.draw(); // 输出: Drawing a rectangle
```
尽管`shape1`和`shape2`都是`Shape`类型的引用,但调用`draw()`方法时会执行各自子类的实际定义。这就是多态性,使得代码能够处理多种形态的对象,而无需关心具体实现细节。
阅读全文