教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Scala特质和Java接口有什么区别?Scala特质创建

更新时间:2023年06月09日18时17分 来源:传智教育 浏览次数:

好口碑IT培训

在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'n speaking English")
    }
}
object People{
    def main (args: Array[String]): Unit = (
    var people mnew Beople
    people.speak()
    people.listen()
    people.run ()
    }
}

上述代码中,第1~7行代码创建了一个特质Animal,并在该特质中定义了3个方法Speak()、listen()和run();第10~12行代码创建了一个类People 并继承特质Animal,重写特质中的方法Speak();第15~20行代码是主方法main(),在主方法中创建People类的实例对象people,再使用实例对象访问特质Animal中的方法。

0 分享到:
和我们在线交谈!