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

公共静态无效的main() 方法是Java程序的入口点。每当您使用Java执行程序时,JVM就会搜索main方法并开始从其中执行。

您可以使用除void之外的返回类型在程序中编写main方法,该程序将被编译而没有编译错误。 

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

它搜索主要方法,该方法是公共的,静态的,返回类型为void,并将String数组作为参数。

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

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

示例

在以下Java程序中,我们尝试使用返回类型integer编写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)