java面向对象多态例题
时间: 2024-03-21 17:35:45 浏览: 77
当然,我可以给你介绍一个Java面向对象多态的例题。
假设我们有一个动物类(Animal),它有一个抽象方法叫做"makeSound",用于发出声音。然后我们有两个子类,分别是狗类(Dog)和猫类(Cat),它们都继承自动物类。
在狗类中,我们重写了"makeSound"方法,让狗发出"汪汪"的声音;在猫类中,我们也重写了"makeSound"方法,让猫发出"喵喵"的声音。
现在,我们可以创建一个动物数组,数组中既可以存放狗对象,也可以存放猫对象。通过调用数组中每个元素的"makeSound"方法,我们可以实现多态性。
下面是示例代码:
```java
abstract class Animal {
public abstract void makeSound();
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("汪汪");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("喵喵");
}
}
public class Main {
public static void main(String[] args) {
Animal[] animals = new Animal[2];
animals[0] = new Dog();
animals[1] = new Cat();
for (Animal animal : animals) {
animal.makeSound();
}
}
}
```
运行以上代码,输出结果为:
```
汪汪
喵喵
```
这个例子展示了多态性的特点,通过将不同的子类对象存储在父类数组中,我们可以通过父类引用调用子类的方法,实现了不同对象的不同行为。
阅读全文