概述
在 Java 中提供了四种访问权限, 使用不同的访问权限修饰时, 被修饰的内容会有不同的访问权限.
- public: 公共的
- protected: 受保护的
- default: 默认的
- private: 私有的
不同权限的访问能力
public | protected | default (空的) | private | |
---|---|---|---|---|
同一类中 | √ | √ | √ | √ |
同一包中 (子类与无关类) | √ | √ | √ | |
不用包的子类 | √ | √ | ||
不同包中的无关类 | √ |
可见, public 具有最大权限. private 则是最小权限.
编写代码时, 如果没有特殊的考虑, 建议这样使用权限:
- 成员变量使用 private, 隐藏细节
- 构成方法使用 public, 方便创建对象
- 成员方法使用 public, 方便调用方法
注: 不加权限修饰符, 其访问能力与 default 修饰符相同.