object class66{
trait A {
println("A")
}
trait BB {
println("BB")
}
trait B extends BB{
println("B")
}
trait C {
// println("C")
//}
class Class1 extends B with A {
println("Class1")
}
def main(args: Array[String]): Unit = {
new Class1()
}
- 按
extends/with的书写顺序,依次处理每个 Trait; - 每个 Trait 内部,先初始化它的父 Trait(递归执行);
- 所有 Trait 初始化完成后,最后初始化类自身。