这个问题是问我认识的人的。我能想到的是 main 方法需要接受命令行参数作为方法参数。
是否有任何其他论点来捍卫 public static void main(String args[])
方法?
最佳答案
- 它可以测试一个主要方法
- 它使得从其他类调用一个main方法成为可能
- 它可以多次调用主方法,而类型初始化只发生一次
- 它可以在不运行程序的情况下创建包含 main 方法的类的实例。
在应用程序完成之前阻塞“主”类的类型初始化的想法是可恶的。
我们可以应对吗?我敢说。但我怀疑我最终会写:
public class EntryPoint
{
static
{
// Workaround for entry points being static initializers
String[] arguments = getArgumentsHoweverThatHappens();
RealEntryPoint.execute(arguments);
}
}
... 没有其他东西会触及 EntryPoint
。
关于java - 当你有静态 block 时,为什么我们需要 main 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5590502/