=zhongdian>package语句:=pt9-black>由于java编译器为每个类生成个字节码文件且文件名和类名相同因此同名类有可能发生冲突为了解决这问题java提供包来管理类名空间包实际提供了种命名机制和可见性限制机制而在java系统类库中把功能相似类放到个包(package)中例如所有图形界面类都放在java.awt这个包中和网络功能有关类都放到java.net这个包中用户自己编写类(指.文件)也应该按照功能放在由员自己命名相应包中例如上例中javawork.helloworld就是个包包在实际实现过程中是和文件系统相对应例如javawork.helloworld所对应目录是path\\javawork\\helloworld而path是在编译该源时指定比如在命令行中编译上述HelloWorldApp.java文件时可以在命令行中敲入\"javac -d f:\\javaproject HelloWorldApp.java\"则编译生成HelloWorldApp.文件将放在目录f:\\javaproject\\javawork\\helloworld\\目录下面此时f:\\javaprojcet相当于path但是如果在编译时不指定path则生成.文件将放在编译时命令行所在当前目录下面比如在命令行目录f:\\javaproject下敲入编译命令\"javac HelloWorldApp.java\"则生成HelloWorldApp.文件将放在目录f:\\javaproject下面此时package语句相当于没起作用
但是如果中包含了package语句则在运行时就必须包含包名例如HelloWorldApp.java第行语句是:package p1.p2;编译时候在命令行下输入\"javac -d path HelloWorldApp.java\"则HelloWorldApp.将放在目录path\\p1\\p2下面这时候运行该时有两种方式:
第种:在命令行下path目录下输入\"java p1.p2.HelloWorldApp\"
第 2种:在环境变量path中加入目录path则运行时在任何目录下输入\"java p1.p2.HelloWorldApp\"即可
=zhongdian>import语句:=pt9-black>如果在源中用到了除java.lang这个包以外类无论是系统类还是自己定义包中类都必须用import语句标识以通知编译器在编译时找到相应类文件例如上例中java.awt是系统包而javawork.century是用户自定义包比如中用到了类Button而Button是属于包java.awt在编译时编译器将从目录path\\java\\awt中去寻找类Buttonpath是事先设定环境变量比如可以设为:path=.;d:\\jdk1.3\\lib\\ path也可以称为类路径需要提醒大家注意是在path中往往包含多个路径用分号隔开例如path=.;d:\\jdk1.3\\lib\\中第个分号的前路径是个点表示当前目录分号后面路径是d:\\jdk1.3\\lib\\表示系统标准类库目录在编译过程中寻找类时先从环境变量path第个目录开始往下找比如先从当前目录往下找java.awt中类Button时,编译器找不着然后从环境变量path第 2个目录开始往下找就是从系统标准类库目录d:\\jdk1.3\\lib开始往下找java.awtButton这个类最后就找到了如果要从个包中引入多个类则在包名后加上\".*\"表示
如果中用到了用户自己定义包中类假如在上面中要用到javawork.century包中类HelloWorldApp而包javawork.century所对应目录是f:\\javaproject\\javawork\\centurypath仍旧是path=.;d:\\jdk1.3\\lib\\则编译器在编译时将首先从当前目录寻找包javawork.century结果是没有找到;然后又从环境变量path第 2个目录d:\\jdk1.3\\lib\\开始往下找但是仍然没有找到原因在于包javawork.century是放在目录f:\\javaproject下面因此需要重新设定环境变量path设为path=.;d:\\jdk1.3\\lib\\;f:\\javaproject\\ 所以编译器从f:\\javaproject开始找包javawork.century就可以找到
=zhongdian>源文件命名规则:=pt9-black>如果在源中包含有公共类定义则该源文件名必须和该公共类名字完全致字母大小写都必须样这是java语言个严格规定如果不遵守在编译时就会出错因此在个java源中至多只能有个公共类定义如果源中不包含公共类定义则该文件名可以任意取名如果在个源中有多个类定义则在编译时将为每个类生成个.文件
最新评论