为了账号安全,请及时绑定邮箱和手机立即绑定

创建对象那里不大懂

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

正在回答

2 回答

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.

4 回复 有任何疑惑可以回复我~
#1

Dominicks 提问者

非常感谢!
2015-06-01 回复 有任何疑惑可以回复我~
#2

氽氽

那就是说animal不是对象,只是一个变量?java中的变量和对象有什么区别.....我是刚学c的,学java有点混
2015-08-19 回复 有任何疑惑可以回复我~
#3

comeonusa1 回复 Dominicks 提问者

你听懂了吗?给我解释一下。变量是什么?
2015-09-09 回复 有任何疑惑可以回复我~
#4

dongbian

那为什么不直接写成: Dog dog=new Dog(); Dog dog2 =dog; ??
2016-01-30 回复 有任何疑惑可以回复我~
查看1条回复

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530649    人
  • 解答问题       6091    个

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

进入课程

创建对象那里不大懂

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信