我们可以重载Java中的main方法吗?

Moh*_*han 67 java

我们可以main()在Java中重载一个方法吗?

Jon*_*eet 124

可以重载该main()方法,但仅public static void main(String[] args)在JVM启动您的类时使用.例如:

public class Test {
    public static void main(String[] args) {
        System.out.println("main(String[] args)");
    }

    public static void main(String arg1) {
        System.out.println("main(String arg1)");
    }

    public static void main(String arg1, String arg2) {
        System.out.println("main(String arg1, String arg2)");
    }
}
Run Code Online (Sandbox Code Playgroud)

这将始终打印main(String[] args),当您运行java Test ...命令行,即使你指定一个或两个命令行参数.

您可以main()自己从代码中调用该方法,当然 - 此时将应用正常的重载规则.

编辑:请注意,您可以使用varargs签名,因为从JVM的角度来看,这是等效的:

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

  • 通过JVM,确切地说 - 可以手动调用任何重载版本. (2认同)

小智 15

是的,您可以在Java中重载main方法.但是程序在运行程序时不执行重载的main方法,必须从实际的main方法调用重载的main方法.

这意味着main方法充当java解释器的入口点,以启动应用程序的执行.在哪里作为一个加载的主要需要从主要调用.