- 访问权限从大到小依次为:public、protected、包访问权限、private
1、包:库单元
- 编译一个.java文件时,在.java文件中的每个类都会有一个输出文件,该输出文件名称与.java相同,后缀多了.class。
- Java可运行程序是一组可以打包并压缩为一个Java文档文件的.class文件。Java解释器负责这些文件的查找、装载和解释。
- 类库实际上是一组文件。其中每个文件都有一个public类,以及任意数量的非public类。
Java解释器的运行过程:
- 找出环境变量CLASSPATH,CLASSPATH用做查找.class文件的根目录。
- 从根目录开始,解释器获取包的名称并将每个句点替换成反斜杠。(比如foo/bar/baz)
- 得到的路径会与CLASSPATH中的各个不同项相连接,解释器就在这些目录中查找与你所要创建的类名称相关的.class文件。
2、Java访问权限修饰词
包访问权限
- 没有任何修饰词,默认权限。
- 当前包中的所有其他类对哪个成员都有访问权限,但对于这个包之外的所有类,这个成员是private。
public 接口访问权限
- 声明自己对每个人都是可用的。
private
- 除了包含该成员的类之外,其他任何类都无法访问这个成员。
protected
- protected,继承的类可以访问。
- 相同包类的其他类也可以访问protected元素。
3、接口和实现
- 访问权限的控制常被称为是具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,常共同被称为封装。
- 将接口和具体实现进行分离。如果结构适用于一组程序之中,而客户端程序员除了可以向接口发送信息之外什么也不可以做的话,那么就可以随意更改所有不是public的东西,而不破坏客户端代码。
4、类的访问权限
- 每个编译单元只能有一个public类。
- 类既不可以是private的也不可以是protected的。所以对于类的访问权限仅有两个选择:包访问权限或public。
网友评论