有时在设计一个继承层级时,你想要确保一个成员不被子类重写。这在Scala中可以和Java一样通过给成员添加final修饰符来实现。例如:
object T6 {
def main(args: Array[String]): Unit = {
val arrayElement = new ArrayElements
arrayElement.demo()
}
}
class Element {
def demo() {
println("Element class")
}
}
class ArrayElements extends Element {
final override def demo() {
println("ArrayElement‘s implementation invoked")
}
}
你有时或许还想确保整个类都不会有子类。要做到这点只要简单地在类的声明上添加final修饰符来把整个类声明为final即可。
object T6 {
def main(args: Array[String]): Unit = {
val arrayElement = new ArrayElements
arrayElement.demo()
}
}
class Element {
def demo() {
println("Element class")
}
}
final class ArrayElements extends Element {
override def demo() {
println("ArrayElement‘s implementation invoked")
}
}
原文:http://my.oschina.net/fhd/blog/495117