我对以下内容感到困惑:
class A(val s: String) {
def supershow {
println(s)
}
}
class B(override val s: String) extends A("why don't I see this?"){
def show {
println(s)
}
def showSuper {
super.supershow
}
}
object A extends App {
val b = new B("mystring")
b.show
b.showSuper
}
我期待:
mystring
why don't I see this?
但我得到:
mystring
mystring
在 java 中,如果您覆盖或“隐藏”超类中的变量,则超类有自己的变量。但是在这里,即使我认为我用不同的字符串显式初始化父级,父级被设置为与子类相同的值?