java编译器的哪一部分检查公共类名是否与文件名相同?

java编译器的哪一部分检查公共类名是否与文件名相同?,java,Java,假设我们有一个文件名为Hello.Java的Java文件,并且在该文件中 我们用类名HelloHi声明了一个公共类。现在,如果我们用javac命令编译java程序,我们将得到一个错误。现在我想知道的是,这个错误是否是由编译器在 类加载器链接(包含一个称为验证的活动)阶段 如果不参考特定的Java编译器实现,也没有关于什么样的答案能让您满意的提示,您的问题是无法回答的:一个.Java文件名?功能单元的名称 “类加载器链接(包含一个称为验证的活动)阶段”是JVM的一部分,而不是编译器。现在我想知道的

假设我们有一个文件名为Hello.Java的Java文件,并且在该文件中 我们用类名HelloHi声明了一个公共类。现在,如果我们用javac命令编译java程序,我们将得到一个错误。现在我想知道的是,这个错误是否是由编译器在
类加载器链接(包含一个称为验证的活动)阶段

如果不参考特定的Java编译器实现,也没有关于什么样的答案能让您满意的提示,您的问题是无法回答的:一个.Java文件名?功能单元的名称

“类加载器链接(包含一个称为验证的活动)阶段”是JVM的一部分,而不是编译器。

现在我想知道的是,这个错误是否由编译器在类加载器链接(包含一个称为验证的活动)阶段完成。-编译器(
javac
)不进行类加载/验证,因此问题的这部分答案是否定的。