public(公共的) | protected(受保护的) | default(磨人的) | private(私有的) | |
同一类 | √ | √ | √ | √ |
同一个包(子类域无关类) | √ | √ | √ | |
不同包的子类 | √ | √ | ||
不同包无关类 | √ |
编写代码时,如果没有特殊的考虑,建议这样使用权限:
- 成员变量使用private ,隐藏细节。
- 构造方法使用public ,方便创建对象。
- 成员方法使用public ,方便调用方法。
成员变量(成员方法):public proected default private
局部变量:都不能
外部类:public default
成员内部类:public proected default private
局部内部类:都不能