1-22
4.7 包
Java允许使用包(package)将类组织起来。借助于包可以方便地组织自己的代码,并将自己的代码与别人提供的代码库分开管理。
4.7.1 类的导入
一个类可以使用所属包中的所有类,以及其他包中的共有类(public class)。
我们可以采用两种方式访问另一个包中的共有类。
第一种方式是在每个类名之前添加完整的包名。例如:
java.util.Date today = new java.util.Date();
这显然很令人讨厌。
更简单并且更常用的方式是使用import语句。
import语句是一种引用包含在包中的类的简明描述。
一旦使用了import语句,在使用类时,就不必写出包的全名了。
可以使用import语句导入一个特定的类或者整个包。import语句应该位于源文件的顶部(但位于package语句的后面)。例如使用下面折腾语句导入java.util包中所有类:
import java.util.*;
然后,就可以使用
Date today = new Date();
而无需在前面加上包前缀。还可以导入一个包中的特定类
import java.util.Date;
4.7.2 静态导入
import语句不仅可以导入人类,还增加了导入静态方法和静态域的功能。
例如, 如果在源文件的顶部,添加一条指令:
import static java.lang.System.*;
就可以使用System类的静态方法和静态域,而不必加类名前缀:
out.println("Goodbye, World!" )
;
//i.e. ,System.out
另外,还可以导入特定的方法或域:
import static java.lang.System.out;
4.7.3 将类放入包中
package com.horstmann.corejava;
public class Employee
{
...
}
如果么有在源文件中放置package语句,这个源文件中的类就被放置在一个默认包(default
package)中。默认包是一个没有名字的包。
4.7.4 包作用域
前面已经接触过访问修饰符public和private。标记为public的部分可以被任意的类使用;标记为private的部分只能被定义它们的类使用。
如果没有指定public或private,这个部分(类、方法、变量)可以被同一个包中的所有的方法访问。
4.8 类路径
类文件可以存储在JAR (Java归档)文件中。在一个JAR文件中,可以包含多个压缩形式的类文件和子目录,这样既可以节省又可以改善性能。
4.9 文档注释
javadoc可以由源文件生成一个HTML文档。
4.9.1 注释的插入
4.9.2类注释
类注释必须放在import语句之后,类定义之前。
4.10类设计技巧
1)一定要保证数据私有
2)一定要对数据初始化
3)不要在类中使用过多的基本类型
4)不是所有的域都需要独立的域访问器和域更改器。
5)将职责过多的类进行分解。
6)类名和方法名要能够体现他们的职责