- 1
- 0
- 约小于1千字
- 约 10页
- 2026-07-30 发布于福建
- 举报
;什么是Trait特质;什么是Trait特质;
ScalaTrait(特质)相当于Java的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类只能够继承单一父类,但是如果是Trait(特质)的话就可以继承多个,从结果来看就是实现了多重继承。Trait(特质)定义的方式与类类似,但它使用的关键字是trait,如下所示:;traitEqual{
defisEqual(x:Any):Boolean
defisNotEqual(x:Any):Boolean=!isEqual(x)
}
以上Trait(特征)由两个方法组成:isEqual和isNotEqual。isEqual方法没有定义方法的实现,isNotEqual定义了方法的实现。子类继承特征可以实现未被实现的方法。所以其实ScalaTrait(特征)更像Java的抽象类。;Trait特质的特征构造顺序;
特质也可以有构造器,由字段的初始化和其他特质体中的语句构成。这些语句在任何混入该特征的对象在构造时都会被执行。构造器的执行顺序:
调用超类的构造器;
特质构造器在超类构造器之后、类构造器之前执行;; 特质由左到右被构造;
每个特质当中,父特征先被构造;
如果多个特质共有一个父特征,父特征不会被重复构造
原创力文档

文档评论(0)