更新时间: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中的方法。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27