一个类扩展自一个或多个特质,以便使用这些特质提供的服务。特质可能会要求使用它的类支持某个特定的特性。不过和java不一样,Scala特质能够给出这些特性的缺省实现。java
特质的特性:spa
类能够实现任意数量的特质;继承
特质能够要求实现它们的类具有特定的字段、方法或超类;接口
和Java接口不一样,Scala特质能够提供方法和字段的实现;扩展
当你将多个特质叠加在一块儿时,顺序很重要——其方法先被执行的特质排在最后面。方法
Scala和java同样,不支持多重继承:margin
为何没有多重继承?