第6章.访问权限控制
所谓的安全性并不是访问控制的主要考虑,更多的是与“最初的实现并不恰当有关”。
public意味着对外接口;private意味着具体实现;最后由package完成构件的捆绑。这样,在接口不变的前提下可以任意改动实现方式,这正是访问控制的精髓所在。
- 每一个 .java 文件就是一个编译单元;
- package必须是文件中除注释外的第一句代码;
- import可以用来定制自己的工具库,也可以通过把包氛围debug版本和非debug版本来实现类似C的条件编译功能;
- 无论何时创建宝,都已经在给定包名称的时候隐含指定了目录结构。
访问权限
| 范围 | private | protected | public | default | |
|---|---|---|---|---|---|
| class | 同文件 | - | - | √ | √ |
| 同package | - | - | √ | √ | |
| field/method() | 同class | √ | √ | √ | √ |
| 同文件 | × | √ | √ | √ | |
| 同package | × | √ | √ | √ |
(待补全)
- 每个文件最多只能有一个public类
- public类的名称必须与文件名称相同
- class只能是public或default
浙公网安备 33010602011771号