是“Java”吗;公共静态void main(字符串[]参数)";创建主方法的唯一方法是什么?

是“Java”吗;公共静态void main(字符串[]参数)";创建主方法的唯一方法是什么?,java,Java,我想知道“Java主方法”是否是在Java中创建主方法的唯一方法 Java主方法: public class Test { public static void main(String args[]) { //example code } } 您可以创建任意多个main()方法的变体,如:- int main(int i){...} String main(){...} etc.... 但是 这将仅被视为程序的入口点。JVM需要一个入口点来开始执行,该入口点在JV

我想知道“Java主方法”是否是在Java中创建主方法的唯一方法

Java主方法:

public class Test {
    public static void main(String args[]) {

    //example code

    }
}

您可以创建任意多个main()方法的变体,如:-

int main(int i){...}
String main(){...}
etc....
但是


这将仅被视为程序的入口点。

JVM需要一个入口点来开始执行,该入口点在JVM中定义如下

publicstaticvoidmain(字符串[]args)

因此,为了回答您的问题,您可以使用任何访问修饰符或使用/不使用
static
关键字来定义
main
方法,但它不是有效的main方法,因为JVM用作入口点的主方法应该被定义为这样的方法。

等价性,是的,但在语法上-否

所有这些都是有效的:

public static void main(String[] args)

public static void main(String[] foo)

public static void main(String... args)
请注意,它们都是有效等效的方法签名

编辑:再来一个-

public static void main(String args[])
编辑:为了兴趣起见,final是隐式的,但可以添加

public static final void main(String[] args) {

最后一点注意:尽管变体是有效的,但通常最好还是坚持惯例并使用默认值。

java7中删除了黑客版本,利用了静态初始值设定项。 在java8中,初始值设定项仍将接管,但需要一个未使用的
main
方法

非实际使用:)


什么意思?不能创建main方法,只能创建main方法。它是所有Java应用程序的入口点。顺便说一句,欢迎来到SO!就我而言,所显示的函数/方法就是所谓的“java主方法”。JVM要求包含主方法。您可以使用
String…
而不是
String[]
。您不必调用参数
args
。所以它不一定是那样的。你到底想要什么?相关:而且你忘了
String args[]
;)
public static final void main(String[] args) {
public class Test {

   static {
     System.out.println("Hello world");
     System.exit(0);
   }

}