一個類擴展自一個或多個特質,以便使用這些特質提供的服務。特質可能會要求使用它的類支持某個特定的特性。不過和java不一樣,Scala特質能夠給出這些特性的缺省實現。java
特質的特性:spa
類能夠實現任意數量的特質;繼承
特質能夠要求實現它們的類具有特定的字段、方法或超類;接口
和Java接口不一樣,Scala特質能夠提供方法和字段的實現;擴展
當你將多個特質疊加在一塊兒時,順序很重要——其方法先被執行的特質排在最後面。方法
Scala和java同樣,不支持多重繼承:margin
爲何沒有多重繼承?