在下面的代码中,如果我打印DDD()。嘿()我会看到里面的'9'然后输出1.读取某处因为BBB是混合的最后一个特征。
三种方法可以控制这种与传统的对比吗?例如,如果我想强制CCC的hey()而不是BBB(而不仅仅是交换mixin的顺序)会怎样?
trait AAA {
def hey(): Int
}
trait BBB extends AAA {
override def hey(): Int = 1
}
trait CCC extends AAA {
override def hey(): Int = 5
}
case class DDD() extends CCC with BBB {
override def hey(): Int = 9
def test(): Int = {
println("Inside: "+hey())
super.hey() // Can I control what 'super' means? BBB or CCC?
}
}