JAVA举例说明多态的用法
时间: 2023-07-19 14:13:39 浏览: 114
多态是面向对象编程中的一个重要特性,它允许不同的对象以自己的方式响应相同的消息或方法调用。在Java中,多态的主要体现是通过继承和接口实现的。
举个例子,假设我们有一个Animal类,它有一个makeSound方法,然后有两个子类Dog和Cat,它们继承自Animal类并且重写了makeSound方法。我们还有一个AnimalSound类,它有一个方法playSound,它接受一个Animal类型的参数并调用它的makeSound方法。
现在我们可以创建一个Dog对象和一个Cat对象,并将它们作为参数传递给AnimalSound类的playSound方法。由于Dog和Cat都是Animal的子类,它们都有makeSound方法,因此在playSound方法内部,无论传递的是Dog还是Cat对象,都能够正确地调用makeSound方法,实现多态性。
具体代码如下:
```java
public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
public class Dog extends Animal {
public void makeSound() {
System.out.println("The dog barks");
}
}
public class Cat extends Animal {
public void makeSound() {
System.out.println("The cat meows");
}
}
public class AnimalSound {
public void playSound(Animal animal) {
animal.makeSound();
}
}
public class Main {
public static void main(String[] args) {
AnimalSound animalSound = new AnimalSound();
Animal dog = new Dog();
Animal cat = new Cat();
animalSound.playSound(dog);
animalSound.playSound(cat);
}
}
```
输出结果为:
```
The dog barks
The cat meows
```
阅读全文