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