abstract class Root {
def hello(s: String)
}
class SubA extends Root {
def hello(s: String) {
println("Hello,SubA! " + s)
}
}
trait D extends Root {
abstract override def hello(s: String) {
super.hello("traitd " + s);
}
}
trait E extends Root {
abstract override def hello(s: String) {
super.hello("traitd" + s);
}
}
object Main extends App {
val f = new SubA with D with E
f.hello("--")
}
我以为是"Hello,SubA! traitd -- traite --"
却原来是“Hello,SubA! traitd traite--”