1. 权限的等级划分(大到小):public、protected、包访问权限、private。
2. Package:包内包含有一组类,它们在单一的名字空间之下被组织在了一起。使用关键字package,它必须是文件中除注释以外的第一句程序代码。Package 包名;
3. 创建独一无二的包名:一般采用反顺序的Internet域名+本地文件存放目录方式。例如:com.java.javafile.*;注意,包名所包含的文件路径必须已经存在。
4. 无论何时创建包,都已经在给定包的名称的时候隐含地指定了目录结构。这个包必须位于其名称所指定的目录之中,而该目录必须是在CLASSPATH开始的目录中可以查询的。
5. 包访问权限:默认的访问权限没有任何关键字,但通常是指包访问权限。包中所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员是private的。由于编译单元(即一个文件),只能隶属于一个包,所以经由包访问权限,处于同一个编译单元中的所有类彼此之间是自动可访问的。
6. Public:接口访问权限:使用关键字public就意味着public之后紧跟的成员声明自己对每个人都是可用的。
7. Private:除了包含该成员的类之外,其他任何类都无法访问这个成员。
8. Protected:继承访问权限。赋予派生类能够访问基类的权限,同时也提供包访问权限,相同包内的其他类可以访问protected元素。
9. 类的访问权限:类的访问权限是通过public、包访问权限关键字来控制的。类既不可以是private的,也不可以是protected(除了内部类特例外)。一个编译单元(文件)都只能有一个public类,但可以有多个类。
10. 如果没有为类访问权限指定一个访问修饰符,它就会默认得到包访问权限。这就意味着该类的对象可以由包内任何其他类来创建,但在包外则是不行的。相同目录下的所有不具有明确package声明的文件,都被视作是该目录下默认包的一部分。