我想知道创建额外的主要方法对您的代码会有什么影响.

例如,

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方法,再一次又一次调用.

当有疑问时,只需测试一下:-)

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。