抽象属性1 2025.11.26

28 阅读1分钟
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()
    }
  1. extends/with书写顺序,依次处理每个 Trait;
  2. 每个 Trait 内部,先初始化它的父 Trait(递归执行);
  3. 所有 Trait 初始化完成后,最后初始化类自身