请举个例子使用以上代码
时间: 2024-09-08 08:04:05 浏览: 51
由于您提到的"以上代码"并未具体说明是哪段代码,所以我无法直接提供一个具体的例子。但我可以给您一个一般性的例子,通过这个例子您可以看到在编程中如何使用多态。
假设我们有两个类:`Animal`和它的子类`Dog`和`Cat`。我们想要展示多态的概念,即在运行时调用的是子类的实际方法。
首先定义基类`Animal`和它的方法`makeSound`:
```java
public class Animal {
public void makeSound() {
System.out.println("动物发声");
}
}
```
然后定义`Dog`类和`Cat`类,它们都重写了`makeSound`方法:
```java
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("汪汪汪");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("喵喵喵");
}
}
```
接着,我们可以创建一个方法,它接受一个`Animal`类型的参数,并调用`makeSound`方法,这样就可以根据传入对象的实际类型来执行不同的`makeSound`实现:
```java
public void makeAnimalSound(Animal animal) {
animal.makeSound();
}
```
现在,我们可以创建`Dog`和`Cat`对象,并将它们传递给`makeAnimalSound`方法:
```java
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
makeAnimalSound(dog); // 输出: 汪汪汪
makeAnimalSound(cat); // 输出: 喵喵喵
}
public void makeAnimalSound(Animal animal) {
animal.makeSound();
}
}
```
通过这个例子,我们可以看到,尽管`makeAnimalSound`方法接受的是`Animal`类型的参数,但由于Java的多态特性,传入的对象可以是`Dog`或`Cat`的实例,而调用的是相应子类的`makeSound`方法。这就是多态的实际应用。
阅读全文