Java权限修饰符学习(建议收藏)——理解private、default、protected、public作用范围

权限修饰符定义及作用范围

缺省修饰符就是default。

情况1.在同一类中

可以看到同一类中test()方法能访问private、缺省、protected修饰的方法,那么更能访问public修饰的方法publicMethod()方法咯,即本类中方法能访问所有权限修饰符修饰的方法(这里截图不下了,只截图了三个方法)

情况2.同一个包下的其他类

必须要在同一包下(一级路径下),子包(二级路径或多级路径)或者其他不相关联包都不行,见下图

二级路径访问报错

情况3.任意包下的子类里

注意,这里强调子类

任意包当然包括子包,见下图,运行结果还是一样的(注释代码代表报错代码,不能访问)

情况4.任意包下的任意类

Zi zi = new Zi(); 

zi.protectedMethod(); //zi类已经extends(继承)了Fu类,但是还是不能访问,什么原因呢?

---------------------------------------------------------------------------------------------------------------------------------

扩展知识点分析

关于上图的扩展知识点重新整理一下,Fu类就是父类,Zi类就是子类

Fu类代码:

Zi类代码如下:

现在还原情况,也就是上面的扩展知识点了:

访问protected方法报错,但能访问public方法

参考该博客的情况3,也行你会想强调是子类里,test又不是子类

那我现在test继承Fu类,还是会报错哦,见下图

此时你是不是很疑惑了,不是子类里吗?

答:被protected修饰后 子类是指自己(在子类本身里访问父类)也就是在test类里面或者在Zi类 自己调用父类方法访问

扩展知识点总结:

也就是说被protected修饰的方法,只能在子类本身里面访问父类方法,不能通过在其他类里面new 子类,然后调用对象.父类方法

但是换成public修饰符,子类本身里能访问父类方法,通过在其他类里面new 子类,然后调用对象.父类方法还是能访问,见下图

---------------------------------------------------------------------------------------------------------------------------------

最后,内容对你有帮助的话,点赞收藏吧(该Java权限修饰符知识点易忘记,建议收藏保存),若还有不懂的欢迎在评论区交流!

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫青.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值