package Test4
trait Type1{
def wheele:String={
"有四个轮子"
}
def run()
}
trait Type2{
def load:String={
"可以载人"
}
}
abstract class CarTrait {
def brand:String
def engine:String
var didi:String
}
class BM extends CarTrait with Type1 with Type2 {
override def brand: String = {
"宝马"
}
override def engine: String = {
"四个轮子"
}
override var didi: String = "会叫"
override def run = {
println("在地上跑")
}
}
//未继承特质,调用时继承
class audi extends CarTrait {
override def brand: String = {"audi"
}
override def engine: String = {
"四个轮子"
}
override var didi: String = "会大叫"
}
object DemonCar{
def main(args: Array[String]): Unit = {
val bm=new BM
println(bm.didi)
bm.run()
println(bm.engine)
println(bm.brand)
}
//此时再调用特质 trait
val ai:audi with Type1 with Type2=new audi with Type1 with Type2 {
override def run(): Unit = {
"跑的很快"
}
}
println(ai.didi)
println(ai.brand)
println(ai.load)
}