// c05:local:PackagedClass.java
package c05.local;
public class PackagedClass {
public PackagedClass() {
System.out.println(
"Creating a packaged class");
}
}
//Foreign.java
public class Foreign {
public static void main (String[] args) {
PackagedClass pc = new PackagedClass();
}
}
Foreign.java文件和PackagedClass.java文件同在文件夹D:\Java\c05\local里
把package c05.local;注释掉可以编译
为什么加上package c05.local; 后 编译不过
出现错误:
D:\Java\c05\local>javac Foreign.java
Foreign.java:6: 无法访问 PackagedClass
错误的类文件: .\PackagedClass.java
文件不包含类 PackagedClass
请删除该文件或确保该文件位于正确的类路径子目录中。
PackagedClass pc = new PackagedClass();
^
1 错误
D:\Java\c05\local>
这根本就不是classpath的问题。你先编译PackagedClass.java。javac -d . PackagedClass.java.(并且把packageClass.java这个文件从当前路径移到其他路径或者删除)然后再javac Foreign .java,就OK了。