/** * 在Scala中trait是一种特殊的概念。trait的用途很多,可以作为类似于Java的interface接口使用。 * 类可以支持对trait的多重继承,继承的时候统一使用extends关键字,没有implement关键字。 * scala的类对类只能单继承,但是对trait可以多继承。 */ trait TraitDemo01 { //抽象方法 def say(content: String) } trait TraitDemo001 { //抽象方法 def sayHello(content: String): Unit } //在这里trait是作为接口使用,那么就必须实现trait的抽象方法 //类多重继承trait需要使用with关键字 class TraitDemo01_01 extends TraitDemo01 with TraitDemo001 { override def say(content: String): Unit = { println(content) } //抽象方法 override def sayHello(content: String): Unit = { println(s"hello $content") } } object TraitTest { def main(args: Array[String]): Unit = { val traitobj = new TraitDemo01_01 traitobj.say("haha") traitobj.sayHello("world") } }
Scala Trait(一)
最新推荐文章于 2024-08-01 10:37:16 发布