Java的接口与Scala的trait特质

本文探讨了Java中的接口与Scala中的trait特质之间的异同。虽然trait在使用上与接口有相似之处,但两者在功能和实现上存在显著区别。
摘要由CSDN通过智能技术生成

今天说一说Java中的接口和Scala中的trait。一直就把特质当做半个接口用,因为确实挺像的,但仔细看,还是有很大区别的。


1.接口不会有构造器,特质可以有构造器,并且在实现类继承特质的时候,先要调用特质的构造器。
trait构造器的调用顺序小结:

class B{}
trait C extends E{}
trait D extends E{}
A extends B with C with D
(1)先调用父类构造器B
(2)继承多个trait从从左至右依次执行,先调用父trait E构造器,再调用C,再调用D构造器
(3)如果多个trait继承同一个父trait,则父trait只执行一次
(4)所有父类构造器和trait构造器执行完毕之后再执行自己的构造器A
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值