更新时间:2023-08-02 来源:黑马程序员 浏览量:
在Scala中,Trait(特质)的功能类似于Java中的接口,但Trait的功能比Java中的接口强大。例如,Trait可以对定义字段和方法进行实现,而接口却不能。Scala中的Trait 可以被类和对象(Objects)使用关键字extends来继承。
创建特质的语法格式如下:
trait traitName
上述语法格式中,关键字trait主要用于创建特质;traitName为特质的名称。
下面,创建一个特质Animal,演示类继承特质并访问特质中方法的操作。具体代码如下所示。
trait Animal {
//没有实现
def speak()
def listen (): Unit ={
}
def run(): Unit ={
println("I'm running")
}
}
class People extends Animal {
override def speak (): Unit ={
println("I'm speaking English")
}
}
object Peoplel{
def main (args: Array[String]): Unit = (
var people =new Feople
people.speak()
people.ihpen ()
people.run ()
}
}
上述代码中,第1~7行代码创建了一个特质Animal,并在该特质中定义了3个方法speak()、listen()和run();第10~12行代码创建了一个类People并继承特质Animal,重写特质中的方法speak();第15~20行代码是主方法main(),在主方法中创建People类的实例对象people,再使用实例对象访问特质Animal中的方法。