Java 四大权限修饰符
- private:表示私有的,表示类访问权限,只能在本类中访问,离开本类后,就不能直接访问
- 不写(缺省):表示包私有,表示包访问权限,访问者的包必须和当前定义类的包相同才能访问
- protected:表示子类访问权限,同包中可以访问,即使不同包,但是有继承关系也可以访问
- public:表示全局的,公共访问权限,如果某字段/方法,使用 public 修饰,则可以在当前项目中任何地方访问
修饰符 | 类内部 | 同一个包 | 子类 | 任何地方 |
private | √ | |||
无 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
为了安全性,表示隐藏,一般字段都使用 private 修饰。
拥有实现细节的方法,一般用 private 修饰,不希望外部调用者看到该方法的实现细节。
一般的,普通方法使用 public 修饰,供外部直接调用。
一般在集成关系中,父类需要把一个方法只暴露给子类,此时使用 protected。
一般不使用缺省,即使使用,也仅仅是暴露给同包中的其他类。