我写了以下代码
 
  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。