Java 程序不一定从 main() 开始,对吧?

标签 java

我的老师曾经告诉我,Java 程序是从 main 函数开始的。然而,这是真的吗?

我的意思是,如果声明了任何全局变量,它们会在 main() 开始之前分配内存,对吗?

最佳答案

从技术上讲,Java 程序确实可以在 main 方法执行之前完整执行。形式的任何程序

class X {
  public static void main(String[] args) {
      ... any code as long as it doesn't refer to args ...
  }
}

可以重写为

class X {
  static {
      ... the same code ...
  }
  public static void main(String[] args) {
  }
}

并且具有完全相同的行为。请注意,main 方法仍然是必需的,但它将在程序的所有其他代码之后执行。

关于Java 程序不一定从 main() 开始,对吧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28775204/

相关文章:

java - 直接向 Web 客户端公开 Web 服务还是在两者之间保留一个薄的服务器端脚本层?

java - 从 Java 源文件生成代码

java - 返回插入时的序列号

java - 恢复旧项目但明显合并失败?

java - 如何清空 JTable?

java - CentOS 6.9 : bash: PATH is not a valid identifier

Java getter setter方法

java - 将 vaadin ui 添加到现有的 java web 应用程序

java - 正则表达式中的 StackOverflowError

Java HTML - 通过单击更改小程序的颜色