【问题标题】:Pass parent object as child object after checking type [duplicate]检查类型后将父对象作为子对象传递[重复]
【发布时间】:2018-10-08 07:47:06
【问题描述】:

我想要做的最容易解释如下:

Animal animal = petStore.getRandomAnimal();

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

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

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

在java中工作。

【问题讨论】:

  • 这个问题已被标记为重复,但这个问题与 instanceOf 无关(虽然这是一个很容易学习的东西)。这个问题是关于选角的。

标签: java oop inheritance


【解决方案1】:

只需将 Animal Object 转换为 Dog 类

Animal animal = petStore.getRandomAnimal();

if (animal instanceof Dog) {
    kennel.add((Dog) animal)
}

【讨论】:

    猜你喜欢
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2012-11-27
    • 1970-01-01
    • 2016-07-12
    相关资源
    最近更新 更多