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

方法和变量在继承关系中的重写与隐藏

标签:
Android

  1.概念

                (1)隐藏:A隐藏了B的变量和方法,那么A不能访问B被隐藏的变量或者方法,但是将A转换成B时,可以访问B中被隐藏的变量和方法;

                (2)覆盖(重写):A覆盖了B的变量和方法,那么A不能访问B被覆盖的变量或者方法,将A转换成B时,仍然不能访问B被覆盖的变量或方法。

        2.方法和变量在继承时的覆盖和隐藏的规则

                (1)父类的实例变量和静态变量能被子类的同名变量隐藏;

                (2)父类的静态方法被子类的同名静态方法隐藏;

                (3)父类的实例方法被子类的同名实例变量覆盖;

        3.注意点

                (1)不能用子类的静态方法隐藏父类中同样标示的实例方法(返回值、名字、参数都一样);

                (2)不能用子类的实例方法覆盖父类中同样标示的静态方法;

                (3)变量只会被隐藏不会被覆盖,无论它是实例变量还是静态变量,而且,子类的静态变量可以隐藏父类的实例变量,子类的实例变量可以隐藏父类的静态变量。

        4.总结

                (1)同名的实例方法被覆盖,同名的静态方法被隐藏;

                (2)隐藏和覆盖的区别在于,子类转换成父类对象后,能够访问父类被隐藏的方法和变量,而不能访问父类被覆盖的方法;

                (3)如果需要访问父类被隐藏的实例变量,加上super就好了,比如要访问父类的age,协商super.age就好了。

原文链接:http://www.apkbus.com/blog-815579-60807.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消