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