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

请大神指教多态中的问题

多肽中的Animal  obj1=new Dog()这个不是父类引用指向子类吗?

和Animal animal=dog  区别在哪?

正在回答

3 回答

第一个是指父类引用指向子类对象,从而由继承的角度创建Dog对象,dog继承animal这个类的。

第二个前面有Dog dog=new Dog();因为dog继承animal所以可以从子类传换成父类animal这个对象。

你可以理解成将狗变成动物。是需要强制转换的。


区别就在于第一个是由继承来创建dog对象,这个dog对象是可以继承animal的所有东西,只是创建对象而已。

第二个只是dog对象强制转换成animal对象,类型转换。

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

因为dog本身是继承自animal的,Animal animal=dog是指,dog引用自animal对象

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

第一个是父类引用指向子类对象,第二个不知道是什么。我也没看懂


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

举报

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

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

进入课程

请大神指教多态中的问题

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