关于向上转型和向下转型属性的问题

关于向上转型和向下转型属性的问题

您好,我想问下,在3-5 instanceof运算符这一课的讲解视频中,向上转型和向下转型后,对象还可以使用原来类中的成员属性吗


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

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

2回答
提问者 慕UI2441027 2017-07-28 17:41:49

多谢,不过我的问题可能描述的不准确。我的意思是这样的,比如Animal是Cat类的父类,Animal类里有private类型的成员属性name,Cat类里面有private类型的成员属性weight,通过Animal one = new Cat();那么可以通过one.name或者one.weight进行操作吗?谢谢

  • private类型的只能在本类中使用。例如全是public类型的,one可以使用Animal 中的东西,却.不出Cat的东西。类似这样的情况,你完全可以在环境中运行一下看看结果。实践比理论重要。祝:学习愉快
    2017-07-28 18:09:35
  • 提问者 慕UI2441027 回复 好帮手慕雪 #2
    您好,我就是在eclipse上运行,输入one.name和one.weight都提示错误,才不理解怎么回事的
    2017-07-28 19:03:21
  • 好帮手慕珊 回复 提问者 慕UI2441027 #3
    其实你可以看eclipse前面的错误提示,one.name不能调用是因为name是私有属性,不能直接调用。one.weight不能调用是因为它是Cat的属性,转型为Animal的引用后就不允许调用了。
    2017-07-29 12:12:28
好帮手慕雪 2017-07-28 17:05:55

Son是子类,Father是父类,例如:Son d=new Son();    Father c=(Father)d;你是说c还能不能使用Son的方法了?不能。反过来:Father a=new Father();    Son e=(Son)a;会出现编译错误。祝:学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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