萌新...问个小问题

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

i新月橙

2016-07-17 09:08

Dog dog = new Dog();

Animal animal = dog;

上面是把dog子类对象 转成了 animal父类对象。

Animal animal = new Dog();

这个则是直接用父类指向子类创建的对象。

这两个过程的结果有区别吗?

写回答 关注

3回答

  • M__
    2016-08-30 16:23:28

    最后animal这个引用变量都指向Animal类的对象,就这个结果来说是没有区别的,但第一种方法创建了dog这个Dog类的引用变量,第二个方法是没有的

  • 我说红豆你说哟
    2016-08-25 15:24:23

    一样的。通俗点的话,就是将一个Dog对象,放进了Animal

  • Win_me
    2016-07-17 09:33:03

    Dog dog = new Dog();

    Animal animal = dog;

    会存在一个类型转换




    Animal animal = new Dog();

    使用的JAVA中的多态性



    执行结果是一样的

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题