Переопределенные поля 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 тоже в виртуальной таблице.

0 ответов

Другие вопросы по тегам