前言
在Java中,public
、protected
、default
(也称为包级私有)和 private
这四个关键字用来控制类、方法、变量等的访问权限。
这里根据参考文,简单摘抄一下,方便自己查阅。
正文
下面是参考文总结的,我这里直接抄了哈。
访问修饰符 | 同一个类内部 | 同一个包内 | 不同包的子类 | 不同包的非子类 |
---|
public | ✅ | ✅ | ✅ | ✅ |
protected | ✅ | ✅ | ✅ | ❌ |
default | ✅ | ✅ | ❌ | ❌ |
private | ✅ | ❌ | ❌ | ❌ |
public
:最宽松的访问权限,任何地方都可以访问。
protected
:允许同包内访问,此外允许子类(无论在哪个包)访问。
default
(未加修饰符):仅限于包内访问,其他包无法访问。
private
:最严格的访问权限,只能在类内部访问。
参考文章
《Java的public, protected, default, private 这个几个关键字的概念和差异理解 【一文搞懂】 》