trait:实现多继承 1.具体属性,抽象属性 2.具体方法,抽象方法
object day1117 {
trait BeautifulEye {
val eye:String = "眼睛漂亮"
val name:String//抽象属性
}
trait Tall {
val height: String = "大高个"
def run():Unit = {
println("run....")
}
def jump():Unit
}
//继承 with
class Child extends BeautifulEye with Tall{
val name: String = "小花"
def jump():Unit = {
println(s"${name}.jump....")
}
}
def main(args:Array[String]):Unit = {
val child = new Child
println(child.eye)
println(child.height)
child.run()
child.jump()
}
}
1.trait中可有抽象,也可有具体 2.它的子类必须实现抽象的(属性,方法)