特质

30 阅读1分钟

特质

实现多继承特质

package level2

object Sc77 {

  class C1 {
    class B1 {
      def say(): Unit = {
        println("B1......")
      }
    }
  }

  def main(args: Array[String]): Unit = {
    // 1. 创建一个C1的对象
    val c1 = new C1()
    // 2. 创建一个B1的对象
    val b1 = new c1.B1()
    b1.say()
  }
}

属性

package level2

object Sc78 {
  trait Tall {
    var height: Int = 180
  }

  trait Eye {
    var beautifulEye: String = "大眼睛"
  }

  // class 就有两个父类
  class Girl extends Tall with Eye {

    var name: String = "女士"

    def cry(): Unit = {
      println("cry ...... ")
    }
    var age: Int = 18
  }

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

    val girl = new Girl()
    println(girl.beautifulEye)
    println(girl.height)
  }
}