1、public: 所修饰的类、变量、方法,在内外包均具有访问权限;
2、protected: 这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问;
3、包访问权限(default): 只对同包的类具有访问的权限,外包的所有类都不能访问;
4、private: 私有的权限,只对本类的方法可以使用;
注意: 要区分开 protected 权限、包访问权限,正确使用它们;
当某个成员能被所有的子类继承,但不能被外包的非子类访问,就是用protected;
当某个成员的访问权限只对同包的类开放,包括不能让外包的类继承这个成员,就用包访问权限;
使用访问权限控制的原因:
1)使用户不要碰触那些他们不该碰触的部分;
2)类库设计者可以更改类的内部工作的方式,而不会担心这样会对用户产生重大影响;