【发布时间】:2014-09-10 06:21:36
【问题描述】:
我有以下情况:
class A {
val text = "Test"
//some initialization things using text. here represented by println
println(text)
}
现在我想为该类编写单元测试,因此为此目的更改 text 的值。
trait Test extends A {
override val text = "Hello"
}
class B extends A with Test
问题是,现在如果我创建B 的实例,文本的值会按预期设置为"Hello",但A 中的所有初始化步骤都会为null 得到null 的值@
我的问题是为什么变量null 是原始class A 中的语句?我想拥有旧的价值似乎比突然没有价值更合乎逻辑。
【问题讨论】: