,SavingAccount对象由所有超类的字段,以及任何子类中定义的字段构成....,而同时,特质也可以扩展类,这个类将会自动成为所有混入该特质的超类....该类扩展自一个特质
override def getMessgae() = "error"
}
在上述代码中,特质的超类Exception自动的成为了类UnHappyException的超类
如果类已经扩展了另一个类...继承了IOException,而IOException是扩展自Exception
自身类型:
当特质扩展类时,编译器能够确保所有混入该特质的类都认这个类为超类,Scala还有另一套机制可以保证这一点:自身类型...方法,当某个类实现该特质时,字段被自动加入
比如:
trait TimeLogger extends Logger{
val time = 1
}
被译为:
public interface TimeLogger