Java 中的final 關(guān)鍵字
在 Java 開發(fā)中默認(rèn)可以被繼承的類不需要添加 final 關(guān)鍵字,如需不想被繼承例如 String 類添加 final 修飾類。
如果方法不想被子類重寫,需在方法前用 final 修飾方法。
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
}
Kotlin中的open關(guān)鍵字
在Kotlin開發(fā)中類和方法默認(rèn)不允許被繼承和重寫,等同于Java中用 final 修飾類和方法。
如果在Kotlin 中類和方法想被繼承和重寫,需添加open 關(guān)鍵字修飾。
open class Person{
}
open class Person{
open fun eat(food: String) {
}
}
class Man:Person(){
override fun eat(food: String) {
super.eat(food)
}
}