trait AA {
println("AA 特质构造器")
}
trait A {
println("A 特质构造器")
}
trait B {
println("B 特质构造器")
}
trait CC {
println("CC 特质构造器")
}
trait C {
println("C 特质构造器")
}
class Child() extends C with B with A{
println("child ...")
}
def main(args: Array[String]):Unit = {
val child = new Child()

import java.io.FileWriter
trait FileLogger {
println("fileLogger")
val filename:String
lazy val write = new FileWriter(filename)
def writeLog(msg:String) = {
write.write(msg)
write.close()
}
}
class MyWriter extends FileLogger {
println("MyWrite")
override val filename: String = "test.log"
}
def main(args: Array[String]): Unit = {
val log = new MyWriter()
log.writeLog("测试内容")
}