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