trait 调用链
scala> trait Logger { def log(log:String) {}}
defined trait Logger
scala> trait aLogger extends Logger { override def log(log:String){println("---a---"+log); super.log(log)}}
defined trait aLogger
scala> trait bLogger extends Logger { override def log(log:String){println("---b---"+log); super.log(log)}}
defined trait bLogger
scala> trait cLogger extends Logger { override def log(log:String){println("---c---"+log); super.log(log)}}
defined trait cLogger
scala> class Person {
| def
|
| }
<console>:4: error: identifier expected but '}' found.
}
^
scala> class Person extends aLogger with bLogger with cLogger {
| def sayHello(name:String){
| println(" hello "+name)
| log(name)
| }
| }
defined class Person
scala>
scala> var p = new Person
p: Person = Person@31c7c281
scala> p.sayHello("tomcat")
hello tomcat
---c---tomcat
---b---tomcat
---a---tomcat