java本地和实例对象创建时的StackOverflowError

ddf*_*fal 0 java stack-overflow local object instance

嗨任何人可以请解释我为什么是这样的代码片段给我的StackOverflowError我很感激,如果你能解释发生了什么事时,instanceObj初始化和调用构造函数ObjectTest和java.lang.Object继承构造函数.在我看来ObjectTest构造函数循环一遍又一遍.但我不知道确切的原因?所以任何建议......


public class ObjectTest {

  public ObjectTest() {

   }


  ObjectTest instanceObj = new ObjectTest();


  public static void main(String[] args) {

     ObjectTest localObj = new ObjectTest();
   }
}
Run Code Online (Sandbox Code Playgroud)

duf*_*ymo 6

您可以调用构造函数来创建对象的新实例.它引用了另一个实例,您使用另一个新的ObjectType实例进行初始化,而ObjectType又实现相同的功能.在你收到错误之前,这是无限次的调用.

这会奏效.

public class ObjectTest { 

  public ObjectTest() { 

   } 


  public static void main(String[] args) { 

     ObjectTest localObj = new ObjectTest(); 
   } 
} 
Run Code Online (Sandbox Code Playgroud)