Ich finde ein seltsames Ergebnis im folgenden Code.Scala override val im Konstruktor
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))
}
}
Das Druckergebnis ist "(WrappedArray (3, 4, 2), null)", was bedeutet, und seq
f
verschieden sind! Warum?