itsway,专业的IT网络教程站,让您踏上IT之路,具备IT思维。
  设为首页        加入收藏夹        网站历程

教程总目录:Java教程(上)  Java教程(下)  HTML教程  CSS教程  JavaScript教程

3.8.1 创建包

在缺省情况下,系统会为每一个.java源文件创建一个无名包,该.java文件中定义的所有类都属于这个包,它们之间可以相互引用非private的类成员。但是,由于这个包是没有名字的,所以它不能被其他包所引用。为了解决这个问题,可以创建有名字的包。
  创建包的语句需要使用package关键字,而且应该是整个.java源文件的第一句:

  package 包名;

有了这句话,当编译完成时,当前.java源文件中的所有类都被放在这个包中。
  【例13】下面的Hello.java程序和第一章例1几乎一样,但增加了包定义语句。

  package mypack;   class Hello{     public static void main(String[ ] args){       System.out.println("Hello World!"); // 显示字符串     }   }

编译成功后,生成Hello.class文件。如果执行,系统会出现如下画面:

Java教程

这说明执行失败了。为什么呢?
  这是因为,增加了包定义语句后,类Hello的完整名字就是mypack.Hello,试着如此执行:

Java教程

仍然失败。这是因为Java中的包,和操作系统下的目录结构是相似的。当声明包名为mypack之后,则需要在硬盘上的当前目录下有mypack目录,并且在mypack目录下应该有Hello.class文件。
  所以,在当前目录下创建mypack子目录,并且把Hello.class文件放入到mypack子目录之后(这可以在Windows下完成),继续执行:

  java mypack.Hello

就会执行成功了,如下图所示。

Java教程

也可以把点操作符换成斜线“/”,这样执行:

  java mypack/Hello

系统也会显示“Hello World!”,这里不再演示。

需要注意的是,当用javac编译java源文件时,系统不会自动创建mypack子目录,也不会把生成的类文件自动放在子目录中。如果希望系统在编译源文件时自动创建子目录(如果子目录事先不存在的话),并将类文件放在相应子目录中,可以在执行javac命令时加上-d参数,格式为:

  javac –d 目录 java源文件

其中“目录”用于存放生成的类文件,如果它不存在,系统就会自动创建。

【例14】在例13中,假设已经建立Hello.java,但还没有编译,并且当前目录下也没有mypack子目录,演示javac的“-d”的用法。
  下面的命令在当前目录下创建mypack子目录,并且将生成的Hello.class文件放在该子目录下:

  javac -d . Hello.java

执行结果如下图所示。可以在Windows中查看已经建立好的mypack子目录和相应的类文件。

Java教程

注意在命令中有一个点“.”,它和前面的“-d”、后面的“Hello.java”之间都有一个空格,表示在当前目录下创建。因为在Hello.java源文件中有“package mypack;”这句话,所以创建的子目录名是mypack。
  下面的命令在当前目录下的mypack子目录下创建mypack子目录,并且将生成的Hello.class文件放在该子目录下:

  javac -d .\mypack Hello.java

当然,我们并不希望把Hello.class文件存放在当前目录下的mypack\mypack子目录中。本例仅仅演示点“.”的用法。
  下面的命令在d盘创建一个临时文件夹temp(如果它事先不存在的话),并且在temp文件夹下创建mypack子目录,并把生成的Hello.class文件放在该子目录下:

  javac -d d:\temp Hello.java

这种用法比较常用,因为可以把编译生成的类文件都放在指定目录下。

上一篇:3.8 包  下一篇:3.8.2 使用包(1)

 有问题吗?请到以下论坛讨论:
csdn技术论坛     Sun公司技术社区     ChinaJavaWorld技术论坛     赛迪网Java基础     赛迪网Java进阶     Java BBS
 有价值的Java站点:
http://java.sun.com/:Sun公司的Java教学站点,内容当然绝对权威。
JDK软件下载:仍是Sun公司拥有,包含最新版本的JDK下载软件。  Java API中文帮助文档:Sun公司提供的最新文档。
Java视频教程:由孙鑫老师主讲录制,内容丰富。如果您不愿意看本站的文字教程,可以看此教程。
http://www.java-cn.com/:一个国内的Java中文站,由个人开发。另一个类似的站点是http://www.cn-java.com/
IBM中文Java站     Java Research     J道:Java和J2EE解决之道     Java家     Matrix-与Java共舞     天极网Java文章汇总     x-spirit的个人空间     JavaWorld.com     Java.net     Java Boutique


版权所有:www.itsway.net
CopyRight(C) 2007 www.itsway.net
苏ICP……
电子邮件:denghongtao@hotmail.com