我写了以下代码
class Hello
//Note the class is not public
{
public static void main(String args[]) {
System.out.println("Hello");
}
}
所以,当我运行它时,它运行良好并打印输出“Hello”。
但是,如果 JVM 规范要求 main 方法应该是公共的,因为“否则它看不到 main”,它不应该也适用于该类吗?如果 JVM 在未声明为 public 时“看不到” Hello.main(),它如何能够看到 A 类本身。
除了“因为规范是这样说的”之外,还有什么解释吗?
如果 JVM 能够看到所有类和方法,因为它本身就是“安全/可见性实施者”,那么为什么需要将 main 方法声明为 public。