Kotlin 面试题
目录

Kotlin 中 open 关键字的作用是什么?

· 约 3 分钟读完 · 第 72 / 200 章

推荐答案

在 Kotlin 中,open 关键字用于允许类、方法或属性被继承或重写。默认情况下,Kotlin 中的类和成员都是 final 的,这意味着它们不能被继承或重写。使用 open 关键字可以解除这种限制。

示例代码

在这个例子中,Animal 类被标记为 open,因此它可以被继承。makeSound 方法也被标记为 open,因此它可以被 Dog 类重写。

本题详细解读

1. open 关键字的作用

  • 类:默认情况下,Kotlin 中的类是 final 的,不能被继承。使用 open 关键字可以使类可以被继承。
  • 方法:默认情况下,Kotlin 中的方法是 final 的,不能被重写。使用 open 关键字可以使方法可以被重写。
  • 属性:默认情况下,Kotlin 中的属性是 final 的,不能被重写。使用 open 关键字可以使属性可以被重写。

2. 使用场景

  • 继承:当你希望某个类可以被其他类继承时,使用 open 关键字。
  • 重写:当你希望某个方法或属性可以在子类中被重写时,使用 open 关键字。

3. 注意事项

  • 类继承:如果一个类被标记为 open,那么它可以被继承,但并不意味着它的所有成员都可以被重写。只有那些被标记为 open 的成员才能被重写。
  • 方法重写:在子类中重写 open 方法时,必须使用 override 关键字。

4. 示例解析

  • Animal 类被标记为 open,因此它可以被 Dog 类继承。
  • makeSound 方法被标记为 open,因此它可以在 Dog 类中被重写。
  • 在 Dog 类中,makeSound 方法被重写,并打印出 "Bark"。