如果我有以下Java类:
public class MyClass
{
...
public static void main(String[] args)
{
...
}
}
如果我以下面两种方式称呼它,是否有任何实际差异?
[1] new Stock_Image_Scanner().main(null);
[2] Stock_Image_Scanner.main(null);
答案 0 :(得分:6)
在第一个构造函数中执行。在第二个中它没有。
答案 1 :(得分:4)
main
是一个静态函数,不应该通过实例调用。它只应通过类名调用:
Stock_Image_Scanner.main(null);
此外,null
应该更改为new String[]{}
。正如@kg_sYy所述,new
方式(通过实例)执行类构造函数,这通常是意外的,不推荐使用。
更多信息:
答案 2 :(得分:3)
用另一种方式说同样的话:
new Stock_Image_Scanner().main(null);
与:
相同new Stock_Image_Scanner();
Stock_Image_Scanner.main(null);