//定义一个特质
//特质可以有抽象属性,具体属性,抽象方法,具体方法
trait Beauty {
//抽象属性(没有=)
val hair:String
//具体属性
var age = 18
val height = 180 //val 不可以修改,var可以修改
//抽象方法(没有=)
def smile
//具体方法
def say():Unit = {}
}
class Boy extends Beauty{
//抽象属性 要具体实现
val hair = "短发"
//具体属性可以重写(可选)
//var 修饰的可以直接赋值
//var 修饰的,可以用override重写
override val height = 178
age = 20
//抽象方法 要具体实现
def smile():Unit = {
println(s"嘴角微微扬起")
}
//具体方法可以重写
override def say():Unit={
println(s"${age}岁,${height}大高个,${hair}")
}
}
object Test20_1 {
def main(args: Array[String]): Unit = {
val b1 = new Boy()
// println(b1.age,b1.height)
b1.say()
}
}