自学Java,使用的是《Thinking in Java中文版-Java编程思想(第4版)》(以下简称TIJ)。我是在CMD窗口进行编译及运行的,在联系package和import时遇到一些问题,又通过网络学习了一些,先总结如下:
1.当主类文件(指需要包含其他类的类所在文件)需要使用的类在其他类文件中时,无论其他文件在什么目录下(相同目录、父目录、子目录),其他类文件都需要使用package,而主类文件需要进行import,同时也要对主类进行package。//主类文件
//路径:H:\Programming\7 java\TIJ4Code\TIJ4-code_me\access\Cake.java
package access;
import access.*;class Cake{
public static void main(String[] args){
Pie x = new Pie();
x.f();
}
}//要包含的类
//路径:H:\Programming\7 java\TIJ4Code\TIJ4-code_me\access\Pie.java
package access;public class Pie{
public void f(){System.out.println("Pie.f()");}
}
2.编译及运行均需要在根目录(classpath设定)下进行。
运行目录:H:\Programming\7 java\TIJ4Code\TIJ4-code_me
编译命令:javac access\Cake.java(全路径)
运行命令:java access.Cake(全类名)问题:
(1)以上关于package及import的用法是否准确、全面?在多文件前提下,有不需要用这两个关键字的情况吗?
          例如,TIJ中说在相同目录下可以不使用package及import,我的实际操作表明这样不行。(2)在多文件前提下,以上关于javac和java的用法是否准确?
          TIJ中只介绍了单一文件时两个命令的用法,即在类文件目录下进行编译及运行,并没有介绍多文件的情况。(3)可否作为一个惯例,每个类文件前面均写上package,以便于其他类使用。有无相关的规范可做参考?说明:对于文件在不同目录下、是否使用package及import及哪个问价需要使用、编译及运行是否均需在跟目下等多个条件进行过多次的组合尝试,所得结论也多为尝试的结果,且可能覆盖并不全面甚或有准确之处,所以希望有人能告诉我有关的比较规范、全面的知识,或者提供一下资源的地址,谢谢!个人简单的意见也欢迎!