特质trait
在scala中是没有接口的概念的,但是有着和接口类似的概念,那就是特质trait。
scala类和java一样,不允许多重继承。但是和java接口一样,可以实现任意多个特质。
和java接口不一样的地方是,scala特质可以提供方法和字段的实现,相当于特质可以同时有用抽象方法和具体方法。
一个简单的特质例子如下:
trait Drinker {
def eat(food : String) // 特质方法没有实体某人为抽象
}
class Animal extends Drinker {
// extends关键字
def eat(food : String): Unit = { // 不需要override
println("animal eat food:"