在我的一生中,我一直在想这两者有什么不同,在
public static void main (String[] args){}
和
static public void main(String... args){}
我和我的朋友一起看过这些代码,但即使他也不知道原因。
这两者有何不同?
抱歉,我编辑了 main 方法的返回类型...
在我的一生中,我一直在想这两者有什么不同,在
public static void main (String[] args){}
和
static public void main(String... args){}
我和我的朋友一起看过这些代码,但即使他也不知道原因。
这两者有何不同?
抱歉,我编辑了 main 方法的返回类型...
这两者在功能上没有区别。但就约定而言,使用可见性运算符,如 public、private,首先是 static。
并且不要忘记返回类型!
它应该是这样的:
public static void main (String[] args){}
参数String[] args
是一个普通数组。String... args
被称为可变参数。在这种情况下没有区别。但是在这里看看varargs。
public static void main (String[] args){}
static public void main (String... args){}
是相同的。请注意,返回类型(在本例中为 void)不能重新定位。
请参阅参考资料。
两者之间的唯一区别是调用函数的方式。使用 String var args 您可以省略数组创建。
public static void main(String[] args) {
callMe1(new String[] {"a", "b", "c"});
callMe2("a", "b", "c");
// You can also do this
// callMe2(new String[] {"a", "b", "c"});
}
public static void callMe1(String[] args) {
System.out.println(args.getClass() == String[].class);
for (String s : args) {
System.out.println(s);
}
}
public static void callMe2(String... args) {
System.out.println(args.getClass() == String[].class);
for (String s : args) {
System.out.println(s);
}
}
这是链接
这在功能上是相同的
public static
或者
static public
两者都可以写。没关系。意思完全一样。
变量也是如此。你可以写
final private String
或者
private final String
两者都是一样的,只是个人风格的问题。传统是首先提供可访问性
public static void main(String... args)
两者都是一样的,正如许多人已经写过的那样。我只想指出,Java 中的可变参数功能是从 Java 5(Java 1.5)版本实现的。因此,您只需要使用“可变参数样式”来注意这一点。