我将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有关。
答案 0 :(得分:4)
您正在构造函数中创建一个新对象,该对象以递归方式创建新对象并继续。因此发生了堆栈溢出错误