现在我们可以在接口中定义方法,这些方法被称为 defender 方法或默认方法。实现类仍可以提供自己的实现。如果实现类未提供自己的实现的话, defender 方法会被调用。...,特质可以同时拥有抽象方法和具体方法,而类可以实现多个特质,同时这也很好的解决了java接口的问题
Scala特质可以如同java接口那样工作
举例:
trait Logger{
def log...是不会输出到控制台的,因为在特质logger中,对于log方法没有任何的逻辑....(类)
特质中重写抽象方法
前面我们提到,在类中实现某个特质的方法时,是不需要加override的,但是在特质中,如果要重写父特质的方法时,需要加上override的
比如:
triait Logger...{
override def log(msg:String){ // 重写抽象方法
super.log(new Date() + " " + msg )
}
}
因为在Logger