Kotlin中的关键字可分为三类
1、硬关键字:这些关键字无论在什么时候都不能用作标识符
2、软关键字:这些关键字在他们不起作用的上下文中用作标识符
3、修饰符关键字:这些关键字可以在在代码中用作修饰符。
Kotlin硬关键字如下:
as--用于做类型转换或者为import语句指定别名
as?--类型安全的类型转换运算符
break--中断循环
class--声明类
continue--忽略本次循环剩下的语句,重新开始下一次循环
do--用于 do while循环
else--在if分支中使用
false--在Boolean类型中表示假的值
for--用于for循环
fun--声明函数
if--在if分支中使用
in--在for循环中使用;in还可作为双目运算符,检查一个值是否处于区间或集合内;in也可在when表达式中使用;in还可用于修饰泛型参数,表明该泛型参数支持逆变
!in--可作为双目运算in的反义词;!in也可在when表达式中使用
is--用于作类型检查(类似于java的intanceof)或在when表达式使用
!is--用于作类型检查(is的反义词)或在when表达式使用
null--代表空的直接变量
object--用户声明对象表达式或定义命名对象
package--用于当前文件指定包
return--声明函数的返回
super--用于引用父类实现的方法和属性,或者在子类构造器中调用父类构造器
this--代表当前类的对象在构造器中调用当前类的其他类的构造器
throw--用于抛出异常
true--在Boolean类型中表示真的直接量
try--开始异常出来
typealias--用于定义类型别名
val--声明只读属性或变量
var--声明可变属性和变量
when--用于when表达式
while--用于while循环或do while循环
Kotlin软关键字如下:
by--用于将接口或祖先类的实现代理给其他对象
catch--在异常处理中用于捕捉异常
constructor--用于声明构造器
delegate--用于指定该注解修饰委托属性存储其他委托实例的字段
dynamic--主要用于在Kotlin/JavaScript中引用一个动态类型
field--用于指定该注解修饰属性的幕后字段
file--用于指定该注解修饰该源文件本身
finally--异常处理中的finally块
get--用于声明属性的getter方法或者用于指定该注解修饰属性的getter方法
import--用于导包
init--用于声明初始化块
param--用于指定该注解修饰构造器参数
property--用于指定该注解修饰整个属性(这种目标的注解对Java不可见,因为Java并没有正真的属性)
receiveris--用于指定该注解修饰扩展方法或扩展属性的接受者
set--用于声明属性setter方法,或者用于指定该注解修饰属性的setter方法
setparam--用于指定该注解修饰setter方法的参数
where--用于为泛型参数增加限制
Kotlin修饰符关键字如下:
abstract--用于修饰抽象类或抽象成员
annotation--用于修饰一个注解类
companion--用于声明一个伴生对象、
const--用于声明编译时常量
crossinline--用于禁止在传给内联函数的Lambda表达式中执行非局部返回
data--用于声明数据类
enum--用于声明枚举
external--用于声明某个方法不由Kotlin方法(与Java的Native相似)
final--用于禁止被重写
infix--声明函数能以双目运算的格式执行
inline--用于声明内联函数,Lambda表达式在内联函数中执行局部返回
internal--用于表示被修饰的声明之能在当前模块内看见
lateinit--用于修饰一个non-null属性,用于指定该属性可在构造器以外的地方完成初始化
noinline--用于禁止内联函数中个别Lambda表达式被内联化。
open--用于修饰类,表示该类可派生子类;或者用于修饰成员,表示该成员可以被重写。
out--用于修饰泛型参数,表明该泛型参数支持协变。
override--用于声明重写父类的成员
private--private访问权限
protected--protected访问权限
public--public访问权限
reified--用于修饰内联函数中的泛型形参,接下来在函数中就可像使用普通类型一样使用该类型参数。
sealed--用于声明一个密封类
suspend--用于标识一个函数后Lambda表达式可作为暂停
tailrec--用于修饰一个函数可作为尾随递归函数的使用
vararg--用于修饰形参,表明该参数是个数可变的形参。