有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案