包中源文件和类文件需放置到与包名匹配的子目录中,如下图所示:

java 代码保存后自动编译 java编译产生的文件_java

此时,编译和运行均要在基目录进行,命令分别为javac com/mycompany/PayrollApp.java和java com.mycompany.PayrollApp。

另外需要注意的一点是:一个java源文件只能有一个public访问权限的类,其名字也必须和Java源文件名字相同。

类路径


上面只介绍了包内文件在基目录下的组织结构,那基目录由谁给出呢?答案是将要介绍的类路径。

类路径由CLASSPATH环境变量或-classpath运行参数给定。

为了方便代码的分发,可以将类文件层次结构直接压缩成一个jar文件,这样一来,便只需要在类路径里指定jar文件即可。(也可以用通配符一次性指定多个)

运行时库文件(rt.jar和jre/lib与jre/lib/exf下的jar文件)会被自动搜索,不用显式加到路径中。

类搜索机制


虚拟机的类搜索机制比较简单,只需要按类路径一个个找就行。要注意的是,系统类路径会被优先搜索。