在类中创建类的对象时出现Scala StackOverflow错误

时间:2018-04-22 12:30:48

标签: scala

我将scala类定义如下:

scala> class test2(private var a:Int) {
     | var  t1 = new test2(10)
     | println(t1.a)
     | }
defined class test2

现在,当我尝试创建此类的对象时,我收到stackoverflow错误(见下文)。

scala> var t2 = new test2(5)
java.lang.StackOverflowError
  ... 1024 elided

任何人都可以解释为什么会出现这个错误?

这不是重复的。链接中发布的问题与java有关。我的问题与scala有关。

1 个答案:

答案 0 :(得分:4)

您正在构造函数中创建一个新对象,该对象以递归方式创建新对象并继续。因此发生了堆栈溢出错误