Tag: 夹子

包名称与文件夹结构不同,但Java代码仍然编译

我正在使用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,那么父目录应该是使用保护并完成它。 它是如何用包名检查文件夹结构的?