1. 繼承
Scala語(yǔ)言通過(guò) extends 關(guān)鍵字來(lái)繼承類(lèi).
那么繼承一個(gè)類(lèi)有什么好處呢? 子類(lèi)除了擁有繼承自超類(lèi)的方法和字段(即為val(常量), var(變量)所定義的), 還可以添加自己需要的新方法和新字段, 而且不但可以重寫(xiě)(override)超類(lèi)的方法, 還可以重寫(xiě)超類(lèi)的字段
.
final 關(guān)鍵字
在Scala中, 不僅可以將類(lèi)聲明為final, 而且可以將字段和方法聲明為final
當(dāng)類(lèi)被聲明為final時(shí), 類(lèi)不可以被繼承; 當(dāng)方法和字段被聲明為final時(shí), 對(duì)應(yīng)的方法和字段不可以被子類(lèi)重寫(xiě), 看看下面這個(gè)例子就一目了然
class Person { final val key = 0 val e = 1}class Kid extends Person { // 報(bào)錯(cuò): Value 'key' can not override final member // override val key = 1 override val e = 2 }object test extends App { val k = new Kid; println(k.key) println(k.e) }/*output02*/
2. 重寫(xiě)方法
在Scala中重寫(xiě)一個(gè)非抽象方法
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式