1-4-关键字

Kotlin 的关键字可分为 3 类。

  • 硬关键字:这些关键字无论在什么情况下都不能用作标识符。

  • 软关键字:这些关键字可以在它们不起作用的上下文中用作标识符。

  • 修饰符关键字:这些关键字也可以在代码中用作标识符。

Kotlin 语言的硬关键字(Reserved Keywords)说明:

  • as —— 用于类型转换,或者给 import 语句指定别名。

    as? —— 类型安全的类型转换运算符,转换失败时返回 null。

  • break —— 中断循环。

  • class —— 声明类。

  • continue —— 忽略本次循环剩余语句,直接进入下一次循环。

  • do —— 用于 do-while 循环。

  • else —— if 分支的 else 部分。

  • false —— Boolean 类型中的假值。

  • for —— 用于 for 循环。

  • fun —— 声明函数。

  • if —— 条件判断语句。

  • in —— 用于 for 循环中;也可作为双目运算符,检查值是否在区间或集合中;还能用于 when 表达式;泛型参数修饰符,表示逆变。

  • !in —— 是 in 的反义,检查不在区间或集合中。

  • is —— 类型检查(类似 Java 的 instanceof)。

  • !is —— is 的反义,用于类型检查。

  • null —— 空值字面量。

  • object —— 声明对象表达式或命名对象。

  • package —— 指定当前文件所属包。

  • return —— 函数返回。

  • super —— 引用父类方法或属性,或调用父类构造器。

  • this —— 当前类实例或调用当前类的其他构造器。

  • throw —— 抛出异常。

  • true —— Boolean 类型中的真值。

  • try —— 异常处理的开始。

  • typealias —— 定义类型别名。

  • val —— 声明只读变量或属性。

  • var —— 声明可变变量或属性。

  • when —— 条件表达式。

  • while —— 用于 while 或 do-while 循环。

Kotlin 的软关键字(Soft Keywords)说明:

  • by —— 将接口或父类实现代理给其他对象。

  • catch —— 异常处理中的捕获块。

  • constructor —— 声明构造器。

  • delegate —— 注解,用于指定委托属性存储委托实例字段。

  • dynamic —— 主要用于 Kotlin/JS,表示动态类型。

  • field —— 注解,用于指定属性的幕后字段。

  • file —— 注解,用于指定修饰当前源文件。

  • finally —— 异常处理中的 finally 块。

  • get —— 声明属性的 getter,或指定注解修饰 getter。

  • import —— 导入包。

  • init —— 声明初始化块。

  • param —— 注解,用于修饰构造器参数。

  • property —— 注解,修饰整个属性(Java 不可见)。

  • receiver —— 注解,修饰扩展方法或扩展属性的接收者。

  • set —— 声明属性的 setter,或注解修饰 setter。

  • setparam —— 注解,修饰 setter 方法参数。

  • where —— 为泛型参数添加约束。

Kotlin 的修饰符关键字(Modifiers)说明:

  • abstract —— 修饰抽象类或抽象成员。

  • annotation —— 声明注解类。

  • companion —— 声明伴生对象。

  • const —— 声明编译时常量。

  • crossinline —— 禁止在传给内联函数的 Lambda 中做非局部返回。

  • data —— 声明数据类。

  • enum —— 声明枚举类。

  • external —— 声明外部实现方法(类似 Java 的 native)。

  • final —— 禁止重写。

  • infix —— 声明函数可用中缀调用。

  • inline —— 声明内联函数,允许 Lambda 局部返回。

  • inner —— 声明内部类,可以访问外部类实例。

  • internal —— 声明在模块内可见。

  • lateinit —— 用于非空属性,允许在构造器外初始化。

  • noinline —— 禁止内联函数中某些 Lambda 内联。

  • open —— 允许继承的类或可重写的成员。

  • out —— 泛型参数协变修饰符。

  • override —— 重写父类成员。

  • private —— 私有访问权限。

  • protected —— 受保护访问权限。

  • public —— 公共访问权限。

  • reified —— 用于内联函数的泛型参数,允许类型参数在运行时可用。

  • sealed —— 声明密封类。

  • suspend —— 标记挂起函数(协程相关)。

  • tailrec —— 声明尾递归函数。

  • vararg —— 可变参数修饰符。