一、Scala类继承
Scala继承一个基类跟Java很相似,只多了两点限制:1、重写方法需要override关键字,2、只有主构造函数才可以往基类的构造函数里写参数。
Scala的副构造函数必须调用主构造函数或另一个构造函数,在Scala里主构造函数如同一道关卡,类的实例需要通过他来初始化。
示例:
class Vehicle (val id:Int, val year:Int){
override def toString() : String = "ID: " + id + " Year: " + year
def make(name: String) = {
println("Vehicle make name "+ name)
}
}
class Car(override val id: Int, override val year: Int,
var fuelLevel: Int)extends Vehicle(id, year) {
override def toString() : String = super.toString() + " Fuel Level: " + fuelLevel
override def make(name: String) = {
println("Car make name "+ name)
}
}
调用:
val car : Vehicle = new Car(1,