Java允许使用(package)讲类组织起来。借助于包可以方便地组织自己的代码,并讲自己的代码与别人提供的代码库分开管理。

    标准的Java类库分布在多个包中,包括java.lang、java.util和java.net等。标准的Java包具有一个层次的结构。如果硬盘的目录嵌套一样,也可以使用嵌套层次组织包。所有标准的Java包都处于java和javax包层次中。

    使用包的主要原因是确保类名的唯一性。假如两个程序员不约而同地建立了Employee类。只要将这些放置在不同的包中,就不会产生冲突。事实上,为了保证包名的绝对唯一性,Sun公司建议将公司的因特网域名(这显然是独一无二的)以逆序的形式作为报名,并且对于不同的项目使用不同子包。例如,horstmann.com是本书作者之一注册的域名。逆序形式为com.horstmann。这个包还可以被进一步地划分成子包,如com.horstmann.corejava。

    从编译器的角度来看,嵌套的包之间没有任何关系。例如,java.util包与java.util.jar包毫无关系。每个都拥有独立的类集合。