Scala继承机制全解析
1. 引言
Scala中的继承与Java和C++有诸多不同之处。了解这些差异对于掌握Scala编程至关重要。本文将详细介绍Scala继承的各个方面,包括类的扩展、方法重写、类型检查与转换、受保护的字段和方法、超类构造、字段重写等内容。
2. 类的扩展
在Scala中,使用 extends 关键字来扩展一个类,这与Java类似:
class Employee extends Person {
var salary: 0.0
...
}
如同Java,你可以在子类中指定新的字段和方法,或者重写超类的方法。同时,也可以将类声明为 final ,以防止其被扩展;还能将单个方法或字段声明为 final ,使其不能被重写。需要注意的是,在Java中 final 字段是不可变的,类似于Scala中的 val 。
3. 方法重写
当重写一个非抽象方法时,必须使用 override 修饰符。例如:
class Person {
...
override def toString = getClass.getName + "[name=" + name + "]"
}
override <
超级会员免费看
订阅专栏 解锁全文
2074

被折叠的 条评论
为什么被折叠?



