快速业务通道

Java编程那些事儿72——包的概念 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

Java编程那些事儿72——包的概念

时间:2010-03-11 csdn 陈跃峰

8.11 包的概念

随着项目复杂度的增加,一个项目中需要实现的类和接口的数量也将快速增长,为了方便对于代码的管理和阅读,需要将这些类和接口按照一定的规则进行分类,这就是程序设计中命名空间(name space)概念出现的原因。

在Java语言中,为了对同一个项目中的多个类和接口进行分类和管理,专门设计了包(Package)的概念,使用包管理和类和接口。

其实出现包的概念最开始的原因是避免类名重复,现在这个作用也得到了广泛的应用。例如各个公司会为同一个功能实现一套类,这些类名之间大量的存在重复,使用包的概念就可以很方便的解决类名重复的问题。

那么包到底是什么呢?其实包是一个逻辑的概念,就是给类名加了一个前缀,就像北京路这个路名上海和南京都有,再说这个路名时,就可以使用南京市北京路和上海市北京路进行区分,这里的北京路就相当于类,而前面的前缀,如南京市或上海市,就相当于包名。

在物理上包被转换成一个文件夹,操作系统通过文件夹来管理各个类和接口,从而实现对类的分类,或者称之为按照类的功能对这些类进行封装。

下面介绍一下和包有关的两个语法:打包和引入包。

8.11.1 打包

打包的作用就是将声明的类放入包中,也就是为类指定包名。在实际的项目中,一般根据类的功能来设定包,例如设置界面类包,逻辑类包,网络类包等结构。

打包的语法格式为:

package 包名1[.包名2[.包名3……]];

在该语法中,包名可以设置多个,包名和包名之间使用“.”进行分割,包名的个数没有限制。其中前面的包名包含后面的包名。按照Java语言的编码规范,包名所有字母都小写,由于包名将转换为文件夹的名称,所以包名中不能包含特殊字符。

例如:

package test; package demo.chapter8; package game.bubble.ui;

在示例中的最后一个,package game.bubble.ui,该包名将转换为路径\game\bubble\ui,也就是前面的包名是后面包名的父目录。

需要特别注意的是:

1、打包的语句必须是程序代码中的第一行可执行代码,也就是说打包语句的上面只能包含空行或注释。

2、打包的语句最多只有一句。

如果在代码中没有书写package语句,则该类将被打入到默认包中,默认包无法被其它的包引用。

示例代码:

//文件名:PackageClass.java package chapter8; public class PackageClass{  //类内部的代码 }

Java编程那些事儿72——包的概念(2)

时间:2010-03-11 csdn 陈跃峰

通过打包语法,可以为每个类增加一个前缀,也就是说以前使用类,使用类名即可,有了包名的概念以后,类的全名就是包名.类名了,通过在类名前面加入包名,可以使不同包中存在系统的类名,但是一般不建议一个项目中的类名存在重复。

当一个类有了包名以后,在编译和运行时将和前面的操作产生一些变化,下面介绍一下JDK和Eclipse中相关操作的变化。

a)JDK编译和运行打包的源文件

编译源代码的命令:javac –d 类文件路径 源代码名称

例如:javac –d d:\ PackageClass.java

该命令的作用是将PackageClass类编译成class,并将生成的class文件存储到d盘根目录下。则class文件的存储路径是:d:\chapter8\PackageClass.class。使用该命令编译时自动将包名转换为文件夹。

如果想将编译生成的class文件生成在源代码所在的目录,则可以使用如下格式:javac –d . 源文件名

这里的源文件没可以使用*.java代表当前目录下的所有源文件。

说明:执行javac命令必须将目录切换到源代码所在的目录。

运行类文件的格式: java 包名.类名

例如:java chapter8.PackageClass

该命令的作用是运行该类,按照上面的编译命令,运行该程序时,不应

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号