gpt4 book ai didi

java - 为什么java中的main()是void?

转载 作者:太空宇宙 更新时间:2023-11-04 13:52:36 25 4
gpt4 key购买 nike

对于具有类似 C 语法的语言,我们声明 main() 方法返回 int 或 float 值(或 void)。是否可以在 Java 中从 main() 声明一个非 void 返回类型?如果没有,那为什么不呢?这是否意味着 Java 程序不会向操作系统返回任何值?

最佳答案

main() 方法确实必须具有 void 返回类型。来自 Java Language Specification关于“执行 - 虚拟机启动”(§12.1.4):

The method main must be declared public, static, and void. It must accept a single argument that is an array of strings.

接着在“执行 - 程序退出”中描述程序何时退出( §12.8 ):

A program terminates all its activity and exits when one of two things happens:

  • All the threads that are not daemon threads terminate.
  • Some thread invokes the exit method of class Runtime or class System and the exit operation is not forbidden by the security manager.

换句话说,程序可能在main方法完成之前或之后退出;因此,来自 main 的返回值是没有意义的。如果您希望程序返回状态代码,请调用以下方法之一(请注意,所有三个方法都不会正常返回):

在这三个方法中,System.exit() 是终止 JVM 的传统且最方便的方法。

关于java - 为什么java中的main()是void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30150005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com