第六章、访问权限控制
前言:
1、一个“. JAVA ”源文件中是否可以包含多个类(不是内部类)?有什么限制?
2、访问修饰符public,private,protected,以及不写(默认)时的区别?
6.1 Java解释器的运行过程:
- 首先,找出环境变量CLASSPATH,用作查找.class文件的根目录。
- 然后,从根目录开始,解释器获取包的名称并将句点替换成反斜杠(于是,package net .mrliuli.training 就变为 netmrliulitraining 或 net/mrluli/training 或其他,这一切取决于操作系统)以从CLASSPATH根中获取一个相对路径。
- 将CLASSPATH根目录与上面获取的相对路径相连接得到一个绝对路径,用来查找.class文件。
6.2 类的访问权限的一些限制
- 同一个.java文件,只能有一个与文件同名的public类,可以有其它非public类;
- 同一个 package 内的不同文件中的类,可以互相访问;
- 不同package中的类,如需访问,需要使用全限定名,如biz.superalloy.MyClass或通过 import 把biz.superalloy包引进来;
- 类中的成员变量,不声明访问修饰符时,为“包访问权限”,同一个文件的不同类之间可以互相访问。
- 如果没能为类访问权限指定一个访问修饰符,它将会默认得到包访问权限。
6.3 访问权限类型:
- public(公开权限):class&method&field 均可用;
- protected(继承权限):class不可用,成员(method&field)可以用;
- 包访问权限(缺省权限):class&method&field 均可用;
- private(私有):class不可用,成员(method&field)可以用;
相关文章: