How to override a mutable variable in Trait in scala?
I'd like override one mutable variable in Trait in constructor. But it will complain that "overriding variable a in trait A of type Int; variable a cannot override a mutable variable". Why the scala do not allow me do that ? And any best practise for this ? Thanks trait A{ var a:Int = _ } class B(override var a:Int) extends A You cannot override it (for reasons that don't reveal themselves to me right now, except, that vars can be modified anyway so why override them), but you can leave the declared variable uninitialised and delegate the latter to B : trait A { var a: Int } class B(var a: Int