【发布时间】:2017-10-11 21:26:44
【问题描述】:
我有一个陆地动物的 ArrayList。所有动物都属于不同的类,它们扩展了一个名为Animal 的抽象超类。它们都有eat、walk、sleep等方法,但只有Bird类有fly方法。
如何对 ArrayList 中的所有 Bird 对象调用 fly 方法?
public class Land{
ArrayList<Animal> landAnimals = new ArrayList<Animal>();
Land(Bird bird, Bird bird2, Bird bird3, Cat cat, Mouse mouse, Dog dog, Dog dog2){
landAnimals.add(bird);
landAnimals.add(cat);
landAnimals.add(mouse);
landAnimals.add(bird2);
landAnimals.add(dog);
landAnimals.add(bird3);
landAnimals.add(dog2);
}
public void animalsWalk(){
int size=landAnimals.size();
for (int count=0; count<size; count++){
landAnimals.walk();
}
}
public void birdsFly(){
//How do I make birds in the arraylist fly?
}
}
【问题讨论】: