Je trouve un résultat étrange dans le code suivant.Scala override val dans le constructeur
object Practice {
class A(val seq: Seq[Int]){
println(f, seq)
def f: Seq[Int] = seq
}
class B(override val seq: collection.mutable.WrappedArray[Int]) extends A(null)
def main(args: Array[String]): Unit = {
new B(Array(3,4,2))
}
}
Le résultat de l'impression est "(WrappedArray (3, 4, 2), null)", ce qui signifie seq
et f
sont différents! Pourquoi?