trait的基本使用

34 阅读1分钟

trait的定义和作用

作用:封装成员和方法,供其他类来实现。它可以实现多继承

特质:trait

实现继承,注意观察父子类的构造器的执行顺序 1 先父后子 2 有多个父类 按书写顺序从左向右执行

object Class21 {
  trait A {
    println("A")
  }
  trait B {
    println("B")
  }
  class Class1 extends A with B{
    println("Class1")
  }

  def main(args: Array[String]): Unit = {
    new Class1()

  }
}

实现单个特质

实现多个特质

object Class21 {
  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 特质1 with 特质2 with 特质3**  其中多个特质的顺序可以交换。

特质成员的处理方式