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

父类的引用是可以指向子类的对象的

如何理解这句话,Animal obj2 = new Dog();创建的这个对象到底是父类的对象还是子类Dog的对象???

正在回答

5 回答

这么说可能好理解一些:new Dog()这个语句代表的就时创建的一个Dog类的对象,此时内存已经分配了空间。然后前面的Animal obj2是用来给这个对象赋值的,因为obj2是一个引用,他代表的就是对象的内存。然后他是父类的,所以他是父类的引用。

个人理解。

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

创建的是子类dog的对象,但是这个对象的类型是animal的类型,所以这个对象可以调用animal这个父类继承下来的方法和属性(子类重写的方法同样也可以),不能调用dog类所独有的方法。

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

慕斯1062169

thanks~
2019-02-11 回复 有任何疑惑可以回复我~

Animal obj2 = new Dog()可以理解为:obj2可以引用子类从父类继承和重写的方法,但是不可以引用Dog类中所独有(父类中没有的)方法

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

一只狗,你可以说他是一只狗,可以说他是一只动物。虽然说法不一样,改变不了他是狗的事实。

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

子类dog的对象

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

举报

0/150
提交
取消

父类的引用是可以指向子类的对象的

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