Kotlin 面试题
目录

Kotlin 中如何定义类的属性?

· 约 2 分钟读完 · 第 65 / 200 章

推荐答案

在 Kotlin 中,类的属性可以通过以下几种方式定义:

  1. 可变属性:使用 var 关键字定义,属性值可以修改。
  2. 只读属性:使用 val 关键字定义,属性值只能在初始化时赋值,之后不可修改。
  3. 自定义 getter 和 setter:可以为属性自定义 getter 和 setter 方法,以控制属性的访问和修改行为。

本题详细解读

1. 可变属性 (var)

  • 使用 var 关键字定义的属性是可变的,意味着在对象创建后,可以随时修改该属性的值。
  • 例如,name 属性在 Person 类中是一个可变属性,可以在对象创建后修改其值。

2. 只读属性 (val)

  • 使用 val 关键字定义的属性是只读的,意味着在对象创建时初始化后,不能再修改该属性的值。
  • 例如,age 属性在 Person 类中是一个只读属性,一旦初始化后,不能再修改其值。

3. 自定义 getter 和 setter

  • Kotlin 允许为属性自定义 getter 和 setter 方法,以控制属性的访问和修改行为。
  • 在 Person 类中,email 属性有一个自定义的 setter,它在设置值时将值转换为小写。
  • field 是 Kotlin 中的一个特殊标识符,用于在 getter 和 setter 中引用属性的实际值。

4. 属性的默认值

  • 在 Kotlin 中,类的属性必须初始化,或者在构造函数中提供初始值。
  • 例如,name 和 age 属性在定义时都赋予了默认值。

5. 属性的访问控制

  • Kotlin 提供了多种访问修饰符(如 public、private、protected、internal)来控制属性的可见性。
  • 默认情况下,属性是 public 的,可以在类的外部访问。

通过以上方式,Kotlin 提供了灵活且强大的属性定义机制,能够满足不同的编程需求。