我运行到下面的一段代码:为什么在Scala中为var分配默认值可防止编译错误?
abstract class CommonThing {
var lookupTable: Map[String, Double] = _
// ....
// sets up base configurations
}
class FinalThing extends CommonThing {
// generates actual production data
}
如果我删除默认的分配LookupTable中,我得到一个编译错误说FinalThing
应该实现lookupTable
。但是,它没有被FinalThing
使用。
为什么我得到这个错误,并且有没有更好的方法来编码这个,所以我不需要在基础'lookupTable'中添加默认值?