多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Scala中没有接口的概念,但提供了trait特质,它就相当于Java中的接口。 <br/> **1. 定义特质基本语法** ```scala trait TraitName { 字段 成员方法 } ``` * 特质用于在类之间共享程序接口和字段,类似Java接口 * 特质不能被实例化,因此没有构造参数,类似Java接口 * 类和单例对象都可以继承特质(`extends`) * 实现特质中的方法使用`override` **2. 定义特质** ```scala trait Animal { // 1. 字段的修饰符可以是private、 protected private var name1:String = "Animal" protected var name2:String = "" // 2. 不添加修饰符默认访问权限相当于Java的public var age = 0 // 3. 可以声明一个方法 // 修饰符要么是protected或者不写,不能是private protected def eat():Unit // 4. 可以定义有方法体的方法 def eyes():Unit = { println("大多数动物都有眼睛!") } } ``` <br/> **3. 继承特质** ```scala class Dog(var peer:String) extends Animal{ // 1. 必须实现特质中没有方法体的方法 // override关键字是可选的 override protected def eat(): Unit = println ("Dog eat") // 2. 重写特质中有方法体的方法,override是必须的 override def eyes():Unit = { println("Dog eyes...") } } ```