Java的访问权限控制修饰符,从最大权限到最小权限依次是:public、protected、包访问权限(默认,没有关键字)和private。对于类的访问权限只能是:public和包访问权限(但内部类可以是private或protected的);对于类中的成员的访问权限可以是上述的四种。下面是各种访问权限的作用。
一、public修饰的类:
作用域
| 当前类 | 同一package普通类 | 其他package普通类 | 同一package子孙类 | 其他package子孙类 |
public | √ | √ | √ | √ | √ |
protected | √ | √ | × | √ | √ |
默认 | √ | √ | × | √ | × |
private | √ | × | × | × | × |
二、无修饰符(默认包访问权限)的类:
作用域
| 当前类 | 同一package普通类 | 其他package普通类 | 同一package子孙类 | 其他package子孙类 |
public | √ | √ | × | √ | × |
protected | √ | √ | × | √ | × |
默认 | √ | √ | × | √ | × |
private | √ | × | × | × | × |