public static main的变体(String args [])

m0t*_*way 1 java program-entry-point

这四种方法签名有什么区别,为什么第四种方法不起作用?

public void main(String args[]) {... } 
public void main(String[] args) {... }
public void main(String... args) {... }
public void main(String[] args[]) {... }
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 5

前三个是等价的.* 最后一个等同于String[][] args(即数组数组),它与Java所需的不匹配main.

然而,惯用版是第二个.


*第三个仅从Java 5开始有效.