创建Animal(动物):Pig,Cat,Dog 等等这样一个的继承结构。在基类中,提供对所有的Animal都通用的方法,在导出类中,根据特定的类型覆盖这些方法,以便他们执行不同的行为。创建一个Animal数组,填充不同的Animal类型,然后调用基类方法,解释发生的情况。
时间: 2024-03-10 12:46:22 浏览: 131
好的,这是一个Java的继承和多态的经典例子,下面是一个示例代码,帮助您理解这个问题:
```java
public class Animal {
public void eat() {
System.out.println("Animal is eating.");
}
}
public class Pig extends Animal {
@Override
public void eat() {
System.out.println("Pig is eating.");
}
}
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat is eating.");
}
}
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("Dog is eating.");
}
}
public class Main {
public static void main(String[] args) {
Animal[] animals = new Animal[3];
animals[0] = new Pig();
animals[1] = new Cat();
animals[2] = new Dog();
for (Animal animal : animals) {
animal.eat();
}
}
}
```
在这个例子中,Animal是一个基类,Pig、Cat、Dog是它的子类。Animal中有一个eat()方法,它是所有Animal都通用的方法。Pig、Cat、Dog中重写了eat()方法,根据特定的类型执行不同的行为。
在主函数中,我们创建了一个Animal数组,填充了不同的Animal类型。然后我们循环这个数组,调用基类的eat()方法,由于多态的特性,实际执行的是导出类中覆盖的方法,输出了不同的结果。
输出结果为:
```
Pig is eating.
Cat is eating.
Dog is eating.
```
这就是继承和多态的应用。希望对您有所帮助。
阅读全文