有 Java 编程相关的问题?

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

java在检查类型后将父对象作为子对象传递

我想做的事情很容易解释为:

Animal animal = petStore.getRandomAnimal();

if(animal.isDog()){
    kennel.add(animal)
}

显然,我不能这样做,因为犬舍。add()只接受Dog类型

我已确定该动物是狗,但如何让编译器知道这一点

在java中工作


共 (1) 个答案

  1. # 1 楼答案

    只需将动物对象投射到狗类

    Animal animal = petStore.getRandomAnimal();
    
    if (animal instanceof Dog) {
        kennel.add((Dog) animal)
    }