1. public
public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用,是访问限制最宽的修饰符
2. private
private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,是对访问权限限制的最窄的修饰符
3. protected
protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private
4. default
即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
— | public | private | protected | default |
---|---|---|---|---|
同一个类 | √可见 | √可见 | √可见 | √可见 |
同一个包的子类 | ×不可见 | √可见 | √可见 | √可见 |
同一个包的非子类 | ×不可见 | √可见 | √可见 | √可见 |
不同包的子类 | ×不可见 | ×不可见 | √可见 | √可见 |
不同包的非子类 | ×不可见 | ×不可见 | ×不可见 | √可见 |