格式:类名 extends 特质1 with 特质2 with 特质3 其中多个特质的顺序可以交换。
多继承时,构造器调用顺序:
1.先父后子。先调用父类构造器,再调用子类构造器
2.有多个父类,从左到右的顺序去调用构造器
package level02
/*
多继承时,构造器调用顺序
1.先父后子。先调用父类构造器,再调用子类构造器
2.有多个父类,从左到右的顺序去调用构造器
*/
object class19 {
//抽象,没有具体的值,没有 等号
trait A {
println("trait A")
}
trait B {
println("trait B")
}
trait C {
println("trait C")
}
class Class1 extends A with B with C{
println("class 1...")
}
def main(args: Array[String]): Unit = {
new Class1()
}
}
package level02
/*
多继承时,构造器调用顺序
1.先父后子。先调用父类构造器,再调用子类构造器
2.有 多个父类,从左到右的顺序去调用构造器
*/
object class19 {
trait A {
println("trait A")
}
trait BB {
println("trait BB")
}
trait B extends BB{
println("trait B")
}
trait CC {
println("trait CC")
}
trait C extends CC{
println("trait C")
}
class Class1 extends B with A with C{
println("class 1...")
}
def main(args: Array[String]): Unit = {
new Class1()
}
}