概述
Java中,针对类、成员方法和属性提供4种访问级别,权限从小到大分别是private、default、protected、public。
private(类访问级别)
- 如果一个类或类的成员被权限修饰符private修饰,则这个成员只能被该类的其他成员访问,其他类则无法直接访问。类的封装就是通过private实现的。
default(包访问级别)
- 如果一个类或类的成员没有被权限修饰符修饰,则称它为默认访问控制级别,这个类或类的成员只能被本包中的其他类访问。
protected(子类访问级别)
- 如果一个类或类的成员被权限修饰符protected修饰,那么这个成员既可以被同一包下的其他类访问,也能被不同包下的该类的子类访问。
public(公共访问级别)
- 如果一个类或类的成员被权限修饰符public修饰,那么这个类或者类的成员能被所有的类访问,不管是否在同一个包中、或者是否是子类。
接下来通过一个表直观的感受下4中不同访问级别的权限。
修饰符/访问范围 | 同一个类中 | 同一个包中 | 子类中 | 全局范围 |
---|---|---|---|---|
private | v | |||
default | v | v | ||
protected | v | v | v | |
public | v | v | v | v |