JAVA 中protected 修饰符 的作用

        之前学习C++的类的时候,发现设计一个类时,很少用到protected权限修饰符,一般都用public和private。需要被外部访问到的用public修饰,不需要被外部访问的就用private封装起来,但是学习的时候记得还有一个protected,当时一直搞不明白要多设计一个protected有什么用。

        直到最近在用Java编写一个CTS测试用例,才发现了protected好用的地方。因为最近使用类的继承使用的较多,在进行类的继承的时候,一般都是默认的public继承,也就是继承下来的成员访问权限基本不变,这样的话,如果原先为public的成员,则子类中同样可以用,原先为private的成员,在子类直接调用的时候出现了问题。那这样就有问题了,如果一个成员既需要被子类访问到,又需要能够保护起来,不被外界随意修改,public 和 private 好像都无法很好的解决这个问题,这时候protected 就派上用场了。使用protected 修饰的成员,在继承子类中仍然时protected,仍然可以被访问,但是外界不能对其随意访问,真是太巧妙了。

        看到网上有一种比喻说得挺形象,private是个人秘密,只有自己可用,除自身外的类都不可用,protected是家族秘密,只有父类子类等等有继承关系的可以使用,外界无法使用。而public则是公开的,自身和外界都能使用。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值