我想知道创建额外的主要方法会对您的代码产生什么影响。
例如,
public class TestClass {
public static void main (String[] args){
TestClass foo = new TestClass();
}
}
程序最初启动后,将创建foo,并且其中将包含另一个公共(public)main方法。这会导致任何错误吗?
最佳答案
不会造成任何错误。仅仅因为初始化一个对象,并不意味着将执行main方法。 Java仅会在开始时调用传递给它的类的main方法,例如>java TestClass
但是,请执行以下操作:
public class TestClass
{
public static void main (String[] args)
{
TestClass foo = new TestClass();
foo.main(args);
}
}
要么
public class TestClass
{
public TestClass()
{
//This gets executed when you create an instance of TestClass
main(null);
}
public static void main (String[] args)
{
TestClass foo = new TestClass();
}
}
这将导致
StackOverflowError
,因为您正在显式调用TestClass的main方法,然后将再次,一次又一次,以及...调用main方法。如有疑问,请进行测试:-)
关于java - Java中的多个main()方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4754058/