创建对象那里不大懂

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

Dominicks

2015-05-30 09:03

Animal animal=dog;是什么意思 我只知道Dog dog=new Dog();是创建对象dog,自动调用无参构造函数 还有Dog dog2=animal;又是什么意思?重新创建对象dog2? 求解答

写回答 关注

2回答

  • KillerMank
    2015-05-30 11:00:50
    已采纳

    dog继承自Animal类,是子类,Animal是父类, Dog dog = new Dog();这句话是创建Dog类的的实例对象, Animal animal=dog;中animal是Animal类中的一个变量,等号表示现在这个animal变量指向dog实例对象,就是一楼说的父类引用指向子类对象,最后一句Dog dog2 = animal ;表示:dog2是Dog类的一个变量,其指向animal ,而animal又指向dog ,所以dog2也指向dog.

    dongbi...

    那为什么不直接写成: Dog dog=new Dog(); Dog dog2 =dog; ??

    2016-01-30 20:40:28

    共 4 条回复 >

  • 慕名小白
    2015-05-30 10:51:12

    应该是父类引用指向子类对象吧

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题