版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Fei20140908/article/details/79231453
Scala中的特质类似于Java中的接口,不过trait中可以有实现的方法,也可以有属性.如果是一个trait可以用 extends
剩下的就可以用with
trait Person{
def eat(str:String)={
println(str)
}
}
trait Worker{
def work{
println("working")
}
}
class Student extends Worker with Person
val student =new Student
student.eat("吃饭了")
student.work
trait中 的方法和属性可以被重载,重载方式和继承一样
trait Person{
val name:String
val age=50
}
trait Worker{
val age =25
}
class Studentj extends Person with Worker {
val name:String ="zhangsan"
override val age = 15 //override重写age字段
}