java如何将子类作为参数传递给想要超类的方法?
我希望能够将鹦鹉(或任何其他动物)对象传递到addAnimal(动物)方法中。我知道我可以直接从构造器将动物添加到数组列表中,但稍后会添加其他不在构造器中的动物。因此,公共方法
我怎么能允许各种各样的动物作为论据被传递
**编辑以修复构造函数和基本语法问题。这个问题仍然存在
class Zoo extends Animal{
private ArrayList<Animal> animals;
public Zoo {
Parrot parrot = new Parrot();
animals.addAnimal(parrot); // cannot find methodaddAnimal(parrot)
}
public void addAnimal(Animal animal) {
animals.add(animal);
}
}
class Animal {
// variables and methods
}
class Parrot extends Animal {
// variables and methods
}
共 (0) 个答案