相关疑难解决方法(0)

为什么包含 main 的类不必是公共的?

我宣布了以下课程

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

5
推荐指数
1
解决办法
1971
查看次数

标签 统计

java ×1