我最近看到一些下面简化的Java代码。我不明白为什么有人要在Main Class中使用新的Main()。有人可以解释为什么会使用这种情况吗?
public class Main {
public static void main(String[] args) {
// write your code here
new Main();
}
public Main() {
System.out.println("hello world");
}
}
答案 0 :(得分:-1)
从编译和运行的意义上讲,它是有效的,但从概念上讲,它并不是真正正确的。
您正在创建类型为Main
的新对象,只是立即将其再次丢弃。它的构造函数不是用作真正的构造函数(因为它没有初始化任何内容,并且无状态对象仍然会被丢弃),而只是用作另一种方法。
既然如此,为什么不使用另一种方法?
public class Main {
public static void main(String[] args) {
doStuff();
}
public static void doStuff() {
System.out.println("hello world");
}
}
doStuff
是否真的在这里添加了任何内容?不是特别。它为我们提供了为该方法赋予有意义的标识符的机会,以前在该方法中我们不得不使用名称main
。也许那很有价值,也许没有。