![Kotlin从入门到进阶实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/633/26793633/b_26793633.jpg)
上QQ阅读APP看书,第一时间看更新
2.2 关键字与修饰符
通常情况下,编程语言中都有一些具有特殊意义的标识符是不能用作变量名的,这些具有特殊意义的标识符叫做关键字(又称保留字),编译器需要针对这些关键字进行词法分析,这是编译器对源码进行编译的基础步骤之一。
Kotlin中的修饰符关键字主要分为:类修饰符、成员修饰符、访问权限修饰符、协变逆变修饰符、函数修饰符、属性修饰符、参数修饰符、具体化类型修饰符等。这些修饰符关键字如表2-1~表2-8所示。
表2-1 Kotlin中的类修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41061.jpg?sign=1739590568-c1eLfuGEywXFFRNqchoRoL9mehI3eE9c-0-20b645e786f74547c3c9b7ca5196eb97)
表2-2 Kotlin中的成员修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41063.jpg?sign=1739590568-mRLpcFwvVdufcWFOfl20Q999hLQi19Hs-0-5e6d7636944903ee1480b94fcf2571e6)
表2-3 Kotlin中的访问权限修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41065.jpg?sign=1739590568-tJ7MncoR30Y4llQRkEb303UHsw8pLBrL-0-f222d6b5f432e247c698e8a2220c1504)
表2-4 Kotlin中的协变逆变修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41067.jpg?sign=1739590568-EL3v6ydO7T4G2qaFeNbH6X2fihQi5UmR-0-034c49fe2f8245fac9c2eab48d0ed5a4)
表2-5 Kotlin中的函数修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41069.jpg?sign=1739590568-r1knSRUYISqO9rOJasFhhogQ666l3DeG-0-cb47a4ce42bedad5233f60804a5a1a70)
表2-6 Kotlin中的属性修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41071.jpg?sign=1739590568-LoqyBf2Yu4JSWx2g9SPbmSrizCWWbjeT-0-cdfbfae2357fbb576ae06928e7a9e775)
表2-7 Kotlin中的参数修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40819.jpg?sign=1739590568-9z1EpZ8gDsDmDvRL4TZXjDFcN9VePUuX-0-400cb02ed04f93564359b0543917309d)
表2-8 Kotlin中的具体化类型修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40821.jpg?sign=1739590568-kwwFV3kJSaVrLrQaWJYOolIjsCpVK4aD-0-ee046c713ef43ff551e5dc95539173f2)
一个crossinline代码实例如下:
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-P32_40824.jpg?sign=1739590568-4pMUV4Ug6tWafmPjutMkqlBZ8RkMEPeh-0-3a74da780a943c236e90cc96db2af48e)
除了上面的修饰符关键字之外,还有一些特殊语义的关键字如表2-9所示。
表2-9 Kotlin中的关键字
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40823.jpg?sign=1739590568-RPC7y60m2nNZL9gfjYgWDzY3AAKfAOg8-0-e6ac968a0b3a3997e7025a4a87c2779d)
这些关键字定义在源码org.jetbrains.kotlin.lexer.KtTokens.java中。