向下转型疑问

来源:10-2 多态中的引用类型转换

KABOKUO

2018-06-22 11:49

向下转型成功的前提,不就是先进行向上转型吗?例如:Animal animal=new Cat();然后Cat cat=(Cat)animal;才能成功。而同一个父类引用无法调用其他子类对象,即:Animal animal=new Dog();不成立,所以Dog dog=(Dog)animal自然也不存在了。这样的话还有必要先行用instanceof进行判断吗?

写回答 关注

2回答

  • 雨过云舒
    2018-08-03 15:27:18

    Animal animal=new Dog();这样不就是父类的引用指向子类的对象么?这是成立的啊。

    如果是Dog dog = new Animal();这样是子类的引用指向父类的对象,这个是不可以的。

  • 微微去
    2018-06-24 11:09:50

    instanceof 相当于做一个check,减少程序执行的出错率

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530560 学习 · 6091 问题

查看课程

相似问题