trait
特质:trait trait的作用:类似于抽象类,定义抽象属性,方法 让其他的子类去实现
代码示范:
package level02
/*
特质: trait
作用:类似于抽象类,定义抽象属性,方法
让其他的子类去实现
*/
object class16 {
trait A {
var name:String;
}
class Class1 extends A{
var name:String="Class1"
}
def main(args: Array[String]): Unit = {
val class1=new Class1()
println(class1.name)
}
}
实现单个特质
作用:封装成员和方法,供其他类来实现。它可以实现多继承!
格式:类名 extends 特质1 with 特质2 with 特质3 其中多个特质的顺序可以交换。
代码示范:
package level02
/*
特质: trait
作用:类似于抽象类,定义抽象属性,方法
让其他的子类去实现
特点: 可以实现多继承
*/
object class17 {
trait A {
var name:String;
def sayA():Unit={
println("sayA")
}
}
trait B {
var age:Int
}
class Class1 extends A with B {
var name:String="Class1"
var age:Int=4
}
def main(args: Array[String]): Unit = {
val class1=new Class1()
class1.sayA()
println(class1.age)
println(class1.name)
}
}