scala学习笔记(三) Trait

版权声明:本文为博主原创文章,未经博主允许不得转载。 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字段
}

猜你喜欢

转载自blog.csdn.net/Fei20140908/article/details/79231453
今日推荐