Scala重写字段:在虚拟表中也是重写字段?

时间:2018-02-24 21:36:44

标签: scala oop inheritance virtual-table

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 AB虚拟 分别表,但我不确定字段x是否也在虚拟表中。

0 个答案:

没有答案