Java“ public static void main(string [] args)”是创建main方法的唯一方法吗?

时间:2018-08-23 10:55:05

标签: java

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

Java主要方法:

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

    //example code

    }
}

4 个答案:

答案 0 :(得分:6)

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

public static void main(String[] args)

因此,要回答您的问题,您可以定义一个main方法,该方法可以使用任何访问修饰符,也可以使用带有/不带有static关键字的方法,但这并不是有效的main方法,因为应当将JV​​M用作入口点。

答案 1 :(得分:4)

等价,是的,但是在语法上-不!

所有这些都是有效的:

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) {

最后的注释:即使变体有效,通常也最好坚持使用惯例并使用默认设置。

答案 2 :(得分:1)

java7中利用静态初始化程序删除了hackish版本。 在java8中,初始化程序仍将接管,但需要一个未使用的main方法。

不实际使用:)

public class Test {

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

}

答案 3 :(得分:0)

您可以创建所需的main()方法的多种变体:-

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

但是

 public static void main(String args[]) {...}  // JVM will call only this main method

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