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 —— 可变参数修饰符。