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)
广告