trait(单个性质)

19 阅读1分钟

trait是关键字,identified 表示一个合法的标记。

用一个类去实现单个特质

Scala没有Java中接口的概念,所以Scala的trait就类比Java中的接口。

package level02

/*
特质:trait
作用:类似于抽象类,定义抽象属性,方法
     让其他的子类去实现
特点:可以实现多继承

 */
object class18 {
//抽象,没有具体的值,没有 等号
  trait A  {
    var name:String;//抽象属性
    def sayA():Unit={//具体方法
      println("sayA")
    }
  }

  trait B {
    var age:Int
  }

  class Class1 extends A {
    var name: String = "Class1"
    var age:Int=4
  }
  def main(args: Array[String]): Unit = {
    val class1 = new Class1()
    class1.sayA()
    println(class1.name)
    println(class1.age)
  }
}

image.png