19.package语句

接着来讲讲在Java源文件中,除了类之外,另外非常重要的两个部分:package和import。

 

这篇来说package。

 

 

按照一般的解释来说,package的出现,是为了解决同名类的问题的。

 

这么说吧,

 

如果你现在有两个同名的文件,要保存在你的硬盘上,你怎么处理?不要提重命名,不允许改名。怎么办?其实建立两个文件目录,把两个同名文件分别放到两个不同的目录中,就可以了。

 

对极了。实际上,我们可以把package看做是文件目录,事实上,如果一个类设置了package,最后在编译好之后,处理方式就是讲编译好的类,按照类中package的声明,放入对应的目录中。比如你有两个Student类,实现逻辑不一样,一个是小学生、一个是大学生,当然都是学生类,这样你就可以建立两个package,分别把两个编译后的类文件放入相应的目录里面,即该类中声明的package的位置。

 

就像你可以建立多级目录一样,在Java中,package的声明也可以是多级的有层次的。还拿两个学生类来说,都声明为public class Student,但是声明不同的包。Java使用 . 来分割各个层级的package目录。

 

package cn.edu.university

 

package cn.edu.primary

 

这样,把代表大学生的学生类放入第一个包中,把代表小学生的类放入第二个包里面,就解决了类命名冲突的问题了。

 

拿第一个包来说明,这个包路径,就是一个文件目录路径,只要把.换成\,就是一个标准的windows目录了。cn\edu\university

 

package语句的基本语法如下:package  <top_pkg_name> [ .<sub_pkg_name>] * ;

 

为了避免不同的公司之间类名的重复,Sun建议使用公司Internet域名的倒写来当作包名,例如,使用域名tsinghua.edu.cn的倒写 cn.edu.tsinghua来作为包的名称。

 

要注意的是,如果使用命令行的javac编译命令对Java源文件进行编译,编译好的只是一个类文件,如果要使用这个类文件(类),你必须将这个类文件放入到对应该类的package声明的目录下,就像前面说到的。并且在使用该类的时候,要完整的引用该类。比如要引用前面的那个大学生类,必须这么来写:java cn.edu.university.Student。

 

你可能会觉得这么用很麻烦,大家都是这样认为的。不过不用担心,基本上常用的IDE工具,都提供package声明处理的基本操作。比如Eclipse,你只需要首先建立相应的package,然后再相应的package里面创建类,Eclipse会自动对正确的类进行编译,并按照类所处package,在编译后的位置,建立相应的目录,把编译后的类文件放进去,所以,不用担心,你需要做的只是编写代码,后续的动作都由IDE来做,不然软件开发效率怎么来提高啊?

 

不过现在使用package的目的已经和最初的不太一样了。实际上在实际开发里面,很少会出现重名的类文件的(除非是多方合作,使用其他第三方包等),更多的时候,package和我们现在使用文件夹目的是一样的,使用文件夹来讲不同类型、不通功能的文件分门别类的放置,方便使用和查找。想想你的电脑上的文件目录,没错吧。

 

package就说到这,在IDE中使用package,几乎是没有任何难度门槛的。

 

下一篇来说说import。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值