更新时间: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中的方法。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19