强制转换问题

强制转换问题

Animal temp=(Animal) obj; 是将Object类强转为Animal类,obj转换为Animal类对象后,可以访问Animal类的属性和方法。   


以上为什么要强制转换呢      父类不是也可以访问子类的属性和方法吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕小尤 2020-06-06 14:55:46

同学你好,同学理解是正确的, 父类引用无法调用子类中独有的方法与属性,可以调用重写父类中的方法。子类引用可以访问父类中在访问权限内的属性及方法。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕沐1462760 #1
    那父类引用可以调用子类中公有的属性及方法吗
    2020-06-06 15:00:14
  • 好帮手慕小尤 回复 提问者 慕沐1462760 #2
    同学你好,是可以的,父类引用可以调用子类与父类共同拥有的属性和方法。祝学习愉快~
    2020-06-06 15:14:16
好帮手慕阿园 2020-06-04 14:00:50

同学你好,上面同学说的是正确的

父类只能访问自己类中的属性和方法,不能访问子类的方法;所以要进行强制转换,将Object类强转为Animal类后,就可以访问Animal类中的方法和属性了

祝学习 愉快

  • 提问者 慕沐1462760 #1
    父类引用是访问不了子类的属性跟方法的是吧,子类引用可以访问父类的属性及方法,这样理解对吗
    2020-06-06 10:54:58
苍星乱舞 2020-06-04 11:35:03

父类引用只能访问自己类中定义的属性和方法

如果子类重写了父类的方法,那么当父类引用指向子类对象时,调用该方法会动态绑定为子类的方法


你这里是  Object类的引用,那肯定没有  Animal 类里定义的方法和属性

  • 提问者 慕沐1462760 #1
    父类引用是访问不了子类的属性跟方法的是吧,子类引用可以访问父类的属性及方法,这样理解对吗
    2020-06-06 10:54:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师