Переопределенные поля Scala: есть ли переопределенные поля в виртуальной таблице?
Переопределенные поля Scala: есть ли переопределенные поля в виртуальной таблице?
Я новичок в Скале. Концептуально переопределенные методы класса находятся в виртуальной таблице, но я не уверен, есть ли переопределенные поля в виртуальной таблице?
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
тоже в виртуальной таблице.