trait类似于Java8中的可用带default method的接口。
trait中可以带有实现的方法,也可以带有抽象方法,使用trait的方法是with而混入类中。
我们在scala下的org.scala.clazz下创建一个类MyTrait.scala

定义一个特质类 Logger

定义MyLogger类 实现特质类Logger

调用:

PS:我们这里使用trait是使用extends,这是因为MyLogger没有继承其他类火灾trait
子trait可以覆盖实现父traitd的方法:

调用:

如果子trait在如果覆盖父trait中已经实现的方法必须使用override关键字:

定义抽象类Account和class MyAccont

调用:

这是demo属于在一个对象中混入trait
来源:oschina
链接:https://my.oschina.net/u/230960/blog/366652