在这个练习中,我们定义了一个接口`Animal`,其中包含一个方法`sound()`。
之后,我们创建了一个基类`Mammal`,实现了`Animal`接口,并提供了一个默认的`sound()`方法实现。
接着,我们定义了两个继承自`Mammal`的子类`Dog`和`Cat`,分别重写了`sound()`方法。
在`main`方法中,我们创建了一个`Mammal`类型的数组,用于存储不同的哺乳动物对象。
我们将`Mammal`、`Dog`和`Cat`的实例分别存储在数组中。
然后,我们遍历数组,调用每个对象的`sound()`方法。由于多态性的存在,当我们调用`Mammal`类型的对象的`sound()`方法时,实际执行的是该对象所属子类的`sound()`方法。
这样,我们可以实现展示不同的哺乳动物发出的声音。
// 定义一个接口Animal,包含一个方法sound()
interface Animal {
void sound();
}
// 定义一个基类Mammal,实现Animal接口
class Mammal implements Animal {
@Override
public void sound() {
System.out.println("The mammal makes a generic sound.");
}
}
// 定义一个Dog类,继承自Mammal类
class Dog extends Mammal {
@Override
public void sound() {
System.out.println("The dog barks.");
}
}
// 定义一个Cat类,继承自Mammal类
class Cat extends Mammal {
@Override
public void sound() {
System.out.println("The cat meows.");
}
}
public class Main {
public static void main(String[] args) {
// 创建一个Mammal类型的数组,用于存储不同的哺乳动物对象
Mammal[] mammals = new Mammal[3];
mammals[0] = new Mammal();
mammals[1] = new Dog();
mammals[2] = new Cat();
// 遍历数组,调用每个对象的sound()方法,展示多态性
for (Mammal mammal : mammals) {
mammal.sound();
}
}
}
标签:sound,Java,多态性,void,Animal,mammals,Mammal,继承性,public
From: https://blog.csdn.net/2301_79600015/article/details/139362148