object class02 {
class Boss {
def power(): Unit = {
println("Boss 有权力....")
}
var car = "豪车"
}
// 子类 继承 父类
class NoBody extends Boss {
}
def main(args: Array[String]): Unit = {
val b = new NoBody()
println(b.car)
b.power()
}
}
关键规则:
- 单继承:一个类只能直接继承一个父类(与 Java 一致)。
- 继承关键字:使用 extends 表示继承关系。
- 父类成员访问:子类可直接访问父类的 public/protected 成员,private 成员不可访问。
- 构造器继承:子类默认调用父类的无参构造器,若父类无无参构造器,子类需显式通过 super 调用父类构造器。
- 父类属性为 val(不可变),子类可重写为 val 或 var。
- 父类属性为 var(可变),子类不可重写(避免数据一致性问题)。