java多态用法举例及解释
时间: 2023-07-19 16:04:12 浏览: 89
Java中的多态(polymorphism)是指同一个方法调用,由于对象不同可能会有不同的行为。简单来说,就是同一个方法在不同的对象上会有不同的实现。
举例来说,我们有一个Animal类和它的两个子类Dog和Cat。它们都有一个speak()方法,但是不同的动物会发出不同的声音。我们可以利用多态来实现这个功能。
Animal类:
```
public class Animal {
public void speak() {
System.out.println("Animal is speaking.");
}
}
```
Dog类:
```
public class Dog extends Animal {
public void speak() {
System.out.println("Woof!");
}
}
```
Cat类:
```
public class Cat extends Animal {
public void speak() {
System.out.println("Meow!");
}
}
```
我们可以创建一个Animal类型的数组,然后用不同的子类来填充它。当我们调用每个对象的speak()方法时,会根据对象的实际类型来调用正确的方法。
```
public static void main(String[] args) {
Animal[] animals = new Animal[2];
animals[0] = new Dog();
animals[1] = new Cat();
for (Animal animal : animals) {
animal.speak();
}
}
```
输出结果:
```
Woof!
Meow!
```
可以看到,虽然我们调用的是同一个方法speak(),但是不同的对象会调用不同的实现。这就是Java中多态的应用。
阅读全文