转载地址:https://blog.csdn.net/dwb1015/article/details/51761510
1,介绍
Scala和java一样不允许类从多个超类继承;从多个超类继承可能会导致许多问题,例如两个超类有相同的方法,子类该如何使用。
在java中,类只能扩展自一个超类,它可以实现任意数量的接口,单接只能包括抽象方法,不能包含字段。
在scala中提供了特质(trait)而非接口,特质可以同时拥有具体方法和抽象方法,特质可以提供方法和字段的实现,而类可以实现多个特质。
当将多个特质叠加在一起时,顺序很重要,其方法先被执行放在更后面。
2、例子
带有具体实现的特质
在Scala中,特质中的方法并不需要一定是抽象的。