我想知道“ Java main method”是否是在Java中创建main方法的唯一方法。
Java主要方法:
public class Test {
public static void main(String args[]) {
//example code
}
}
答案 0 :(得分:6)
JVM需要一个入口点来开始执行,并且此入口点在JVM中的定义如下
public static void main(String[] args)
因此,要回答您的问题,您可以定义一个main
方法,该方法可以使用任何访问修饰符,也可以使用带有/不带有static
关键字的方法,但这并不是有效的main方法,因为应当将JVM用作入口点。
答案 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
这将仅被视为程序的入口点。