我宣布了以下课程
class A { //not public
public static void main(String args[]) {
System.out.println("done");
}
Run Code Online (Sandbox Code Playgroud)
当我编译并运行它时,它运行良好并打印输出“完成”。即使我将其声明为“包 a”,行为也相同;
但是,如果 JVM 规范要求 main 方法应该是公共的,因为“否则它看不到 main”,它不应该也适用于类吗?如果 JVM 在 A.main() 未声明为 public 时“看不到”它,它如何能够看到类 A 本身。
除了“因为规范这么说”之外,还有其他解释吗?
java ×1