1
我想要放置的"my name - new name"
但"my name - null"
打印:scala如何初始化重写字段?
trait SomeTrait {
val name = "default name"
println(s"my name - $name")
}
class SomeClass extends SomeTrait {
override val name: String = "new name"
}
object Main extends App {
val constructTest = new SomeClass()
}
当执行主,控制台输出: my name - null
为什么打印null
而不是new name
?
谢谢,这works.BTW,为什么不打印'我的名字 - 默认name'如果在我的代码超第一初始化? – LoranceChen
多数民众赞成在多数民众赞成,因为'val's初始化后,超类和子类都初始化。 –
@LoranceChen更新了答案 –