Java的四种访问权限修饰符

提示:对访问权限修饰符理解,最好的方法就是写代码进行测试。

Java的四种访问权限修饰符


一、四种访问权限

  • Java 借助 private、protected、public与默认修饰符来控制类和类成员的访问性。

1.对于类来说

  • 修饰符 private 和 protected 不可用于修饰类。
  • 一个没有修饰符的类,是不能被其他包中的类访问的,它只能在同一个包内被访问。

2.对于类成员来说

  • private:私有访问权限,只能由类本身进行访问。
  • default:包访问权限,只能在同一个包中的类才能进行访问。
  • protected:受保护的访问权限,在同一个包中的类可以进行访问,子类也可以访问。
  • public:公开的访问权限,所有的类都可以访问。
修饰符 可见性标记 同类 同包子类 同包非子类 不同包子类 不同包非子类
private - yes no no no no
default yes yes yes no no
protected # yes yes yes yes no
public + yes yes yes yes yes

二、关于继承的一些规则

  • 子类中继承的成员不能拥有比原先赋值的权限更弱的访问权限,只能拥有更强的访问权限。
  • 最弱的访问权限时private,最强的访问权限是public。访问权限:public>protected>默认>private
    • 在超类(父类)中声明为 public 的成员必须在所有的子类中声明为 public。
    • 在超类(父类)中声明为受保护的成员必须要么为 protected,要么为 public。
    • 不声明访问控制的成员(默认修饰符)不能在子类中声明为 private。
    • 声明为 private 的成员无法被继承。

三、总结

  • 小编这里就没有写代码进行举例了,大家可以写代码进行验证,同时加深对 Java 中的可见性修饰符的理解。
相关推荐
老胖闲聊7 分钟前
Python Rio 【图像处理】库简介
开发语言·图像处理·python
码界奇点27 分钟前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
stein_java34 分钟前
springMVC-10验证及国际化
java·spring
贩卖纯净水.37 分钟前
浏览器兼容-polyfill-本地服务-优化
开发语言·前端·javascript
weixin_4786897637 分钟前
C++ 对 C 的兼容性
java·c语言·c++
k要开心42 分钟前
C++概念以及基础框架语法
开发语言·c++
LUCIAZZZ1 小时前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池
sky_ph1 小时前
JAVA-GC浅析(二)G1(Garbage First)回收器
java·后端
开发者工具分享2 小时前
如何应对敏捷转型中的团队阻力
开发语言
gregmankiw2 小时前
C#调用Rust动态链接库DLL的案例
开发语言·rust·c#