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
原文地址:http://blog.csdn.net/stark_summer/article/details/42645623