我想知道创建额外的主要方法对您的代码会有什么影响.
例如,
public class TestClass { public static void main (String[] args){ TestClass foo = new TestClass(); } }
解决方法
它不会导致错误.只是因为你初始化一个对象,并不意味着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方法,再一次又一次调用.
当有疑问时,只需测试一下:-)