![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=1739345685-A7NgWplygznzyxHL4vuSkeZvofntZcer-0-7ff432245b7608132a35c8a1523a77af)
表2-2 Kotlin中的成员修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41063.jpg?sign=1739345685-WV1AF7LI61YoqTD5hra56WJTY69n63ea-0-04769c1b518f6d96acbb614ffff39278)
表2-3 Kotlin中的访问权限修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41065.jpg?sign=1739345685-Tb9ts42L5cmm9Bu7IIVYByh8NvkV8pVv-0-ba882551e8be9f8114c899f3d30af8d8)
表2-4 Kotlin中的协变逆变修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41067.jpg?sign=1739345685-t9XZfpwfxwxyWNORgxMRhiOPlr8XRdxV-0-a34d43e3ffc774dbbb80b6ebd530654f)
表2-5 Kotlin中的函数修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41069.jpg?sign=1739345685-UMji7HLBi7pUwKB1N3JLJ6age60SHfQC-0-4a98582695024881d051a2b26fee7e51)
表2-6 Kotlin中的属性修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41071.jpg?sign=1739345685-ey0NVBRjPegx1KYMpJnDQbMH8Cct1upH-0-62ad01a0348900dea1c705972876dc05)
表2-7 Kotlin中的参数修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40819.jpg?sign=1739345685-8NIsmXjsSlRxUdlg9eHLcTaYd3vEee2A-0-fa74da73a3c3728f14d1cbb5c586045e)
表2-8 Kotlin中的具体化类型修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40821.jpg?sign=1739345685-YYJVRUyDpcorblYgyYuLztI4hrpWENEu-0-98e8dfc0e3f8f1c97fb87f145037b30d)
一个crossinline代码实例如下:
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-P32_40824.jpg?sign=1739345685-7acljJHoLjSn9nls8IRZcR7EVT03LUjq-0-a285c129cea887db7fc21ee346b918ad)
除了上面的修饰符关键字之外,还有一些特殊语义的关键字如表2-9所示。
表2-9 Kotlin中的关键字
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40823.jpg?sign=1739345685-9Q29PNyGlzzAGQHixhGMdbCDt2WppfRK-0-71de0c92e3ffc3f586e95d0f1cb3882d)
这些关键字定义在源码org.jetbrains.kotlin.lexer.KtTokens.java中。