1.包的概念
包是类的容器,用于分隔名字空间(name space)。所谓名字空间就是类名的集合。到目前为止,所有的示例都属于一个默认的无名包。Java中的包一般均包含相关的类,例如,所有关于交通工具的类都可以放到名为Transportation的包中。
所谓包就是Java语言提供的一种区别名字空间的文件夹。包中还可以嵌入包。程序员可以使用package指明源文件中的类属于哪个具体的包。包语句的格式为:
程序中如果有package语句,该语句一定是源文件中的第一条可执行语句,它的前面只能有注释或空行。另外,一个文件中最多只能有一条package语句。
包的名字有层次关系,各层之间以点分隔。包层次必须与Java开发系统的文件系统结构相同。通常包名中全部用小写字母,这与类名以大写字母开头,且各自的首字母亦大写的命名约定有所不同。
当使用了包语句后,程序中无需再引用(import)同一个包或该包的任何元素。import语句只用来将其他包中的类引入当前名字空间中,而当前包总是处于当前名字空间中。如果声明文件如下:
则在Windows系统中该文件必须存放在当前目录的java\awt\image子目录下,在UNIX系统中应在java\awt\image子目录下。这里的当前目录是指Java源文件所在的目录。
2.import语句
在Java中,若想利用包的特性,可使用引入(import)语句告诉编译器要使用的类所在的位置。实际上,包名也是类名的一部分。例如,如果abc.FinanceDept包中含有Employee类,则该类可称作abc.FinanceDept.Employee。如果使用了import语句,再使用类时,包名可省略,只用Employee来指明该类。(www.xing528.com)
引入语句的格式如下:
假设有一个包a,在a的一个文件内定义了两个类XX和YY,其格式如下:
当在另外一个包b中的文件ZZ.java中使用a中的类时,语句形式如下:
在ZZ.java中,因为引入了包a中的所有类,所以使用起来就好像是在同一个包中一样(当然首先要满足访问权限,这里假定可以访问)。
在程序中,可以引入包的所有类或若干类。要引入所有类时,可以使用通配符“*”,例如:
引入整个包时,可以方便地访问包中的每一个类。这样做,虽然语句写起来很方便,但会占用过多的内存空间,而且代码下载的时间将会延长。初学者完全可以引入整个包,但是建议在了解了包的基本内容后,实际用到哪个类,就引入哪个类,尽量不造成资源的浪费。
实际上,程序中并不一定要有引入语句。当某个类引用的类与被引用的类存储在一个物理目录下时,就可以直接使用被引用的类。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。