在 Java 中一共存在 4 种访问控制权限:private、default(默认)、protected、和 public。
1 private 访问权限
private 属于私有访问权限,可以用在属性的定义、方法的声明上,一旦使用了 private 关键字声明,则只能在本类中访问。
2 default(默认) 访问权限
如果一个类中的属性或方法没有使用任何的访问权限声明,则就是默认的访问权限,默认的访问权限可以被本包中的其他类访问,但是不能被其他包的类访问。
3 protected 访问权限
protected 属于受保护的访问权限。一个类中的成员如果使用了 protected 访问权限,则只能为本包及不同包的子类所访问。
4 public 访问权限
public 属于公共的访问权限。一个类中的成员使用了 public 访问权限,就可以在所有类中被访问,不管是否在同一个包中。
用一个表来总结访问权限:
序号 | 范围 | private | default | protected | public |
---|---|---|---|---|---|
1 | 同一类 | ok | ok | ok | ok |
2 | 同一包中的类 | ok | ok | ok | |
3 | 不同包的子类 | ok | ok | ||
4 | 其他包中的类 | ok |