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

萌新...问个小问题

Dog dog = new Dog();

Animal animal = dog;

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

Animal animal = new Dog();

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

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

正在回答

3 回答

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

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

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

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

Dog dog = new Dog();

Animal animal = dog;

会存在一个类型转换




Animal animal = new Dog();

使用的JAVA中的多态性



执行结果是一样的

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

举报

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

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

进入课程

萌新...问个小问题

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