![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=1739549940-xCOl12L6YLDA4UAUz73apfv1hvBLXWcK-0-5dd771bd19c1f4a6a444e75284c2f0ef)
表2-2 Kotlin中的成员修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41063.jpg?sign=1739549940-L3MD113J6AwdX7jyzpiLuuG44o4z6KgO-0-61103a19ba90fe90ad613d4419bf530f)
表2-3 Kotlin中的访问权限修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41065.jpg?sign=1739549940-tQVzSk00KQ4e7Gbkply8dGM8zxnlHyau-0-57b991997c88f6062414915d2664886f)
表2-4 Kotlin中的协变逆变修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41067.jpg?sign=1739549940-vL1rIkE60AHbdLuOfecJ2ivgL2VGvr1p-0-c09f70e1a8f31fcf0d232494f03c3748)
表2-5 Kotlin中的函数修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41069.jpg?sign=1739549940-5V9gacHjtLikIwhOI8hT8QOt1g7OzwF0-0-83a01f00f16c3466d3b89e732f440eb5)
表2-6 Kotlin中的属性修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T31_41071.jpg?sign=1739549940-WybahIvPOvWTJF37mEXNcJpg0quEPEOF-0-66a4f88ebe2fcb5b70030de570a5b65c)
表2-7 Kotlin中的参数修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40819.jpg?sign=1739549940-R5Hm6ZLR8cJdQoMQA17omsjaqXzj2wTZ-0-10aff9bc293f8134bfb7d903e7326cde)
表2-8 Kotlin中的具体化类型修饰符
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40821.jpg?sign=1739549940-Jb8FaiCY9hWjHB3kjKATmlJYvjjZMwHT-0-d8a3b8043afbb77dea396e21d97d6b8f)
一个crossinline代码实例如下:
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-P32_40824.jpg?sign=1739549940-c2n13LY0qrzJKQTNlBMrli5n3kFDUZAG-0-8252f40c801cb3769b622d4be6bdfdfb)
除了上面的修饰符关键字之外,还有一些特殊语义的关键字如表2-9所示。
表2-9 Kotlin中的关键字
![](https://epubservercos.yuewen.com/317ECE/15253386404112206/epubprivate/OEBPS/Images/Figure-T32_40823.jpg?sign=1739549940-159i8yrJgOUhmVmK73pz2LZWQYy6Gctb-0-41d704758494ce0d97d2f00a418a9fc8)
这些关键字定义在源码org.jetbrains.kotlin.lexer.KtTokens.java中。