java中多态的例子
时间: 2023-10-19 11:05:29 浏览: 89
在Java中,多态是面向对象编程的重要概念之一。它允许不同类的对象对同一方法做出不同的响应。下面是一个简单的Java多态的例子:
```java
class Animal {
public void sound() {
System.out.println("动物发出声音");
}
}
class Dog extends Animal {
public void sound() {
System.out.println("狗发出汪汪声");
}
}
class Cat extends Animal {
public void sound() {
System.out.println("猫发出喵喵声");
}
}
public class PolymorphismExample {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.sound();
animal2.sound();
}
}
```
在上面的例子中,`Animal` 是一个父类,`Dog` 和 `Cat` 是其子类。它们都重写了父类的 `sound()` 方法。
在 `main()` 方法中,我们创建了一个 `Animal` 类型的对象 `animal1`,并将其实例化为 `Dog` 类的对象。同样地,我们创建了另一个 `Animal` 类型的对象 `animal2`,并将其实例化为 `Cat` 类的对象。
当调用 `animal1.sound()` 时,由于 `animal1` 是一个 `Dog` 类型的对象,因此会调用 `Dog` 类中重写的 `sound()` 方法,并输出 `"狗发出汪汪声"`。
当调用 `animal2.sound()` 时,由于 `animal2` 是一个 `Cat` 类型的对象,因此会调用 `Cat` 类中重写的 `sound()` 方法,并输出 `"猫发出喵喵声"`。
这就是多态的体现,不同的子类对象对同一方法做出了不同的响应。
阅读全文