Java 中 main() 方法的返回类型可以更改吗?


public static void main() 方法是 Java 程序的入口点。每当你执行一个 Java 程序时,JVM 都会搜索 main 方法并从那里开始执行。

你可以将程序中的 main 方法的返回类型写成非 void 类型,程序也能编译通过,不会出现编译错误。

但是,在执行时,JVM 不会将这个新的方法(返回类型非 void)视为程序的入口点。

它会搜索返回类型为 void,且参数为 String 数组的公共静态 main 方法。

public static int main(String[] args){
}

如果找不到这样的方法,就会产生运行时错误。

示例

在下面的 Java 程序中,我们尝试将 main 方法的返回类型写成整数:

在线演示

import java.util.Scanner;
public class Sample{
   public static int main(String[] args){
      Scanner sc = new Scanner(System.in);
      int num = sc.nextInt();
      System.out.println("This is a sample program");
      return num;
   }
}

输出

执行此程序会产生以下错误:

Error: Main method must return a value of type void in class Sample, please
define the main method as:
public static void main(String[] args)

更新于:2020年6月29日

3K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告