Scala重写字段:虚拟表中是否还有重写字段?
我是Scala的新手。从概念上讲,重写的类方法在vritual表中,但我不确定 被覆盖的字段是否也在虚拟表中?
class A
{
private var str: String = "A"
val x: A = this
override def toString(): String = str
def m1(other: AnyRef): AnyRef = {
println("This is A.m1(AnyRef)")
other
}
}
class B extends A {
private var str: String = "B"
var z: Int = 0
override val x: B = this
override def m1(other: AnyRef): B = {
println("This is B.m1(AnyRef)")
this
}
}
对于上面的代码段,我的理解是方法m1
位于class A
和B
虚拟
分别表,但我不确定字段x
是否也在虚拟表中。