我想知道创建额外的主要方法对您的代码会有什么影响.
例如,
public class TestClass {
public static void main (String[] args){
TestClass foo = new TestClass();
}
}
程序最初启动后,将创建foo,并在其中创建另一个公共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方法,再一次又一次调用.
当有疑问时,只需测试一下:-)
