概念
- java的继承:
- 类单继承
- scala的继承:
- 类也是单继承
- scala没有接口, 但是提供了更加强大的 trail(特质)
- 接口 多实现
继承案例
继承是extends
复写父类的方法是override关键字
class A(val a: Int) {
def this() {
this(10)
}
println("A 主构造内的代码")
def foo() = {
println("A foo...")
}
}
class B(val b: Int) extends A {
println("B 主构造内的代码")
//override 关键字表示复写父类的方法
override def foo() = {
println("B foo...")
}
}
如果想调用父类的方法
super.foo()// 调用父类的foo方法
构造器的特征:
java:<br /> 父的静态->子的静态->父的构造->子的构造<br /> scala:<br /> 先执行父的构造, 然后才是子的构造器<br /> 父的主构造->子的主构造->子构造
覆写的覆写:
- val只能覆写val和不带参数的def
- var只能覆写抽象的var