【发布时间】:2012-01-13 19:39:39
【问题描述】:
我正在使用 Notepad++ 编写我的 Java 代码并使用命令提示符来编译和运行它。 以下是我的示例 Java 代码,
package abraKadabra;
public class SuperClass{
protected int anInstance;
public static void main(String [] abc){
System.out.println("Hello");
}
}
但是,此文件位于以下文件夹结构中:
“usingprotected\superPkg”(usingProtected 是 C 层次结构中某处的文件夹:)
所以,我在这里的包名应该是 usingProtected.superPkg 而不是我写的 abraKadabra。
但是,当我从命令提示符编译这个 Java 代码时,它编译得很好,没有错误或警告。为什么会这样?包名不应该遵循文件夹结构吗? 如果应该,它将如何坚持?
例如如果我的包名是 usingProtected.superPkg,编译器会以相反的顺序检查。当前的工作目录应该是 superPkg,然后父目录应该是 usingProtected 并完成。它是如何检查带有包名的文件夹结构的吗?
【问题讨论】:
标签: java package directory subdirectory