写一个java程序展示Java多态的用法
时间: 2024-10-23 12:08:11 浏览: 37
在Java中,我们可以利用多态创建一个简单的“动物”类以及它的两个子类,“狗”和“猫”。下面是一个基本的示例:
```java
// 定义一个抽象 Animal 类作为父类
abstract class Animal {
public abstract void makeSound();
}
// 创建 Dog 和 Cat 子类,分别实现 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 类型的数组存储 Dog 和 Cat 对象
Animal[] animals = new Animal[2];
// 动态给数组元素赋值,体现多态
animals[0] = new Dog(); // 狗实例
animals[1] = new Cat(); // 猫实例
// 调用 makeSound() 方法,根据数组类型只能访问其公共方法
for (Animal animal : animals) {
animal.makeSound();
}
}
}
```
在这个程序中,`makeSound()` 方法在父类 `Animal` 中声明为抽象方法,在 `Dog` 和 `Cat` 的子类中实现了各自的版本。在主函数里,虽然数组 `animals` 存储的是 `Animal` 类型的对象,但我们通过这个类型的引用可以调用到实际子类的具体方法,这就是多态的表现。
阅读全文