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