Scala--继承
Posted Spark菜鸟儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala--继承相关的知识,希望对你有一定的参考价值。
继承:在Scala和Java一样都是使用extends进行继承,
scala可以继承类,也可以继承接口
例子1:接口里方法没有实现
//定义接口
trait Plant {
//定义一个方法,但是方法没有实现
def color()
}
//定义一个类
abstract class Fruit {
}
//定义一个类Apple
Apple继承Plant会报错,主要是因为Plant存在没有被实现的方法color
小技巧:ctrl+I 会显示没有被实现的方法
class Apple extends Plant{
// override可以省略不写
override def color(): Unit = ???
}
运行结果:
例子2:接口里方法有实现
//定义接口
trait Plant {
//定义一个方法,方法被实现(java8也可以)
def color():Unit={
println("Plant color")
}
}
class Apple extends Plant{
// override可以不可以省略
override def color(): Unit = {
println("color")
}
}
运行结果同上
如果没有Plant方法没有被重写,结果如下
案例3:scala和java都支持单继承,继承类,实现多个接口
//trait意思是特征,它的意义和java中接口很类似
trait Vega {
}
class Apple extends Fruit with Plant with Vega{
}
以上是关于Scala--继承的主要内容,如果未能解决你的问题,请参考以下文章