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

标签 java object stack-overflow instance local

嗨,有人可以解释一下为什么这段代码会给我 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();
   }
}

最佳答案

您调用构造函数来创建对象的新实例。它有对另一个实例的引用,您可以使用另一个新的 ObjectType 实例来初始化该实例,而该实例又会执行相同的操作。在出现该错误之前,需要进行无数次调用。

这会起作用。

public class ObjectTest { 

  public ObjectTest() { 

   } 


  public static void main(String[] args) { 

     ObjectTest localObj = new ObjectTest(); 
   } 
} 

关于创建本地和实例对象时出现 java StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3679832/

相关文章:

java - 如何停止 "Countdown timer "并在Android studio的对话框中显示结果?

Java/Bukkit 插件 & Fat Jar : ClassNotFoundError

java - Atmosphere 框架,BroadcasterFactory.getDefault() 替代方案

java - 为同一个 Quartz 作业创建第二个触发器时出现异常

ruby:调用实例方法而不使用实例

c - 在具有相同类型成员的结构上使用 free

.net - 为什么此 getter 抛出 StackOverflowException,但仅在从一个项目调用时才抛出?

javascript - JavaScript 中数组中的对象未更新

Java 对象创建错误

java - keyReleased 上出现 StackOverflowError,但 mouseReleased 工作正常