scala的extend和with
原创
©著作权归作者所有:来自51CTO博客作者云原生总监的原创作品,请联系作者获取转载授权,否则将追究法律责任
最近在学习scala语言,记录下学习心得。
scala的extend和with是怎么用的?
1extend后面可以接类和特质(trait)
比如:
class C extends A{
}
class D extends B{
}
2如果 extends和with同时使用则类比如放在前面
比如:
class WithClass extends A with B {
}
下面错误:
class WithClass extends B with A {
}
3比如先有extends后有with
下面错误:
4trait的用发和class一样,trait可以继承class
比如:
trait G extends B with F{
}
trait H extends A{
}
5静态对象也可以继承
比如
object B extends A with B{
}
6对象后面可以用with混入特质,但是不能用extends
比如:
object FF{
def main(args: Array[String]): Unit = {
new A() with F
}
}
7with可以有多个,extends只能有一个
比如:
object B extends A with B with H{
}