返回java中的main类型

gir*_*iri 19 java

我想知道为什么在java中只有void返回类型为main方法.

public static void main(String [] args)
Run Code Online (Sandbox Code Playgroud)

除了main方法之外,为什么没有其他返回类型.

谢谢

Gre*_*ill 28

简短的回答是:因为这就是语言规范所说的.

在当今常用的操作系统(Windows和Unix系列)中,进程中唯一的"返回值"是退出状态,这是一个很小的数字(通常是8位).可以使用以下System.exit(int)方法从Java程序返回此值:

public static void exit(int status)

终止当前运行的Java虚拟机.该参数用作状态代码; 按照惯例,非零状态代码表示异常终止.


Tom*_*ine 25

你期待什么回来?

在C中,您通常会返回int退出代码.但是,在多线程系统中,这没有多大意义.通常,Java程序将启动许多线程.主线程通常会或多或少立即返回.

System.exit 可用于退出特定的退出代码.

  • +1的解释是,当主要完成时,程序本身可能不会 (3认同)

Ste*_*n C 1

首先,因为没有任何东西可以返回值。主流操作系统(例如Windows、UNIX、Linux等)不允许命令“返回”值。(虽然可以说,退出代码是一个返回值,但它仅限于一个整数,并且有各种特定于操作系统的警告;例如,有多少位可以来自应用程序。)

其次,因为 Java 不允许重载仅返回类型不同的方法。

第三,正如@Tom指出的,如果exit code是 的返回值main,则很难处理调用 的其他线程System.exit(rc)