综述:
java中是通过"访问控制符"来实现类中哪些细节可以暴露,哪些细节需要封装隐藏的。java中共设有4种"访问控制符",权限从高到底(暴露程度)分别是public、default、protected和private。
(default)并不是关键字"default",而是指声明类不使用public、protected和private修饰符设置权限时,则预设为默认,即default级别。
4种"访问控制符"的具体权限范围
访问包位置 | public | protected | (default) | private |
本类 | √ | √ | √ | √ |
同包 | √ | √ | √ | × |
不同包子类 | √ | √ | × | × |
不同包非子类 | √ | × | × | × |
- public: 可以被同项目中的所有类访问(所有可访问)
- protected:同包中的所有类和不同包的子类可以访问,其他情况不可用(同包和不同包子类可访问)
- (default):同包中的所有类可以访问(同包可访问)
- private:只允许在本类中进行访问,其他情况不可用(本类可访问)
开发中如何使用
对于类的属性(成员变量)通常使用private私有,再对需要对外暴露的属性提供public公共的set get方法;