代码组织 a. 当编译一个.java文件时,在.java文件中的每个类都会有一个输出文件,而该输出文件的名称与.java文件中的每个类的名称相同,只是多了一个后缀名.class b. Java可运行程序是一组可以打包并压缩为一个Java文档文件(JAR,使用Java的jar文档生成器)的.class文件。Java解释器负责这些文件的查找、装载和解释。 c. 类库实际上是一组类文件。其中每个文件都有一个public类,以及任意数量的非public类 d. 如果使用package语句,它必须是文件中除注释以外的第一句程序代码。在文件起始处写:(注意,Java包的命名规则全部使用小写字母,包括中间的字也是如此) e. package和import关键字允许你做的,是将单一的全局名字空间分隔开,使得无论多少人使用Internet以及Java开始编写类,都不会出现名称冲突问题
package access.mypackage;
创建独一无二的包名 a. 按照惯例,package名称的第一部分是类的创建者的反顺序的Internet域名 b. 在使用了有冲突名字的情况下,必须返回到指定全名的方式
定制工具库 a. 用唯一的包命名方式,创建自己的util库
用import改变行为 a. C语言的条件编译功能,主要用于跨平台编译,Java中不需要这个功能 b. 条件编译还有其他一些有价值的用途。调试就是一个很常见的用途
对使用包的忠告 a. 务必记住,无论何时创建包,都已经在给定包的名称的时候隐含的指定了目录结构。这个包必须位于其名称所指定的目录之中,而该目录必须是以CLASSPATH开始的目录中可以查询到的。 b. 注意,编译过的代码通常放置在与源代码的不同目录中,但是必须保证JVM可以使用CLASSPATH可以找到该路径
6.2 Java访问权限修饰词
如果不提供任何访问权限修饰词,则意味着它是“包访问权限”
包访问权限 a. 当前的包中的所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private b. 提供访问器(accessor)和变异器(mutator)方法(也称作get/set方法),已读取和改变数值。
public:接口访问权限 a. 使用关键字public,就意味着public之后紧跟着的成员声明自己对每个人都是可用的,尤其是使用类库的客户程序员更是如此 b. 默认包:同处于相同的目录并且没有给自己设定任何包名称,jJava将这样的文件自动看作是隶属于该目录的默认包之中,于是他们为该目录中所有其他的文件都提供了包访问权限。
private:你无法访问 a. 关键字private的意思是,除了包含该成员的类之外,其他任何类都无法访问这个成员 b. 可能想控制如何创建对象,并阻止别人直接访问某个特定的构造器(或全部构造器) c. 不能因为在类中某个对象的引用是private,就认为其他的对象无法拥有该对象的public引用。
protected:继承访问权限 a. 有时,基类的创建者希望有某个特定成员,把对它的访问权限赋予派生类而不是所有类