推荐答案
在 Kotlin 中,重写父类的方法和属性需要使用 override 关键字。以下是具体的使用方法:
重写方法
// www.javascriptcn.com code example
open class Animal {
open fun makeSound() {
println("Some generic animal sound")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Bark")
}
}重写属性
open class Animal {
open val sound: String = "Some generic animal sound"
}
class Dog : Animal() {
override val sound: String = "Bark"
}本题详细解读
方法重写
open关键字:在 Kotlin 中,默认情况下类和方法都是final的,即不可被继承或重写。要允许方法被重写,必须在父类中使用open关键字标记该方法。override关键字:在子类中重写父类的方法时,必须使用override关键字。这告诉编译器你是有意重写父类的方法。方法签名:重写的方法必须与父类中的方法具有相同的签名(即方法名、参数列表和返回类型)。
属性重写
open关键字:与重写方法类似,父类中的属性也必须使用open关键字标记,才能被子类重写。override关键字:在子类中重写父类的属性时,必须使用override关键字。属性类型:重写的属性必须与父类中的属性具有相同的类型。
注意事项
- 如果父类中的方法或属性没有使用
open关键字标记,子类将无法重写它们。 - 在 Kotlin 中,
val属性可以被重写为var,但反之则不行。这是因为val是只读的,而var是可变的。
通过以上方式,你可以在 Kotlin 中轻松地重写父类的方法和属性。