作者 印佛西地 包(package)的基本概念 一旦你创建了一个类并想重复地使用它那么把它放在一个包中将是非常有效的包(package)是一组类的集合例如Java本身提供了许多包如javajo和javalang它们存放了一些基本类如System和String你可以为自己的几个相关的类创建一个包 把类放入一个包内后对包的引用可以替代对类的引用此外包这个概念也为使用类的数据与成员函数提供了许多方便没有被publicprivate修饰的类成员也可以被同一个包中的其它类所使用这就使得相似的类能够访问彼此的数据和成员函数而不用专门去做一些说明 下表列出了Java自带的一些常用包 包名称 包的内容描述 基本语言类 为Java语言的基本结构(如字符串类数组类)提供了基本的类描述 实用类 提供了一些诸如编码解码哈西表向量堆栈之类的实用例程 I/O类 提供了标准的输入/输出及文件例程 applet类 提供了与支持Java的浏览器进行交互的例程 另一个窗口工具集类(AWT类) AWT提供了一些诸如字体控制按钮滚动条之类的图形接口 网络类 为通过诸如telnetftpwww之类的协议访问 网络提供了例程 Java基本包一览表 定义一个包 你可以用下机的成员函数去说明一个包 package PackageName; 比如你可以把Rectangle类放入一个名为shapes的包中: package shapes 此后当你用javac来编译这个文件时将会在当前路径下得到一个字节代码文件Rectangleclass但你还需要将它移至java类库所在路径的shapes子目录下(在此之前你必须建立一个名为shapes的子目录)这样以后才能应用shapes包中的Rectangle类当然你可以用d选项来直接指定文件的目的路径这样就无需编译后再移动 包的名称将决定它应放的不同路径例如用下面的方式来构造一个包 package myclassShapes; 归入该包的类的字节代码文件应放在java的类库所在路径的myclass子目录下现在包的相对位置已经决定了但java类库的路径还是不定的事实上java可以有多个存放类库的目录其中的缺省路径为java目录下的lib子目录你可以通过使用-classpath选项来确定你当前想选择的类库路径具体成员函数可参考第三章的内容除此之外你还可以在CLASSPATH环境变量中设置类库路径 引用已定义过的包 为了使用已定义过的包你必须使用引用命令import你可以用以下三种方式引用包中的一个类 在每一个类名前给出个包名ShapesRectangle REET=new ShapesRectangle() 引用类本身import ShapesReckargle; 引用整外包import Shapes; |