1. 类
关键字
class/data class/sealed class/inner class/enum class/annotation class/interface
constructor/abstract/open/by
public/protected/internal/private
继承,构造方法重载,实例化,init{},数据类,数据类copy,数据类解构,密封类,泛型类,嵌套类,内部类,匿名内部类,枚举,委托
2. 对象
关键字
object
对象表达式,继承,声明,伴生对象,
3. 函数
关键字
fun/infix/inline/vararg/override/operator
函数声明,函数调用,重写,infix标记,函数参数,默认参数,重载,命名参数,无返回值Unit,匿名函数,函数使用范围,类的成员函数,泛型函数,内联函数inline,函数扩展,高阶函数lambdas,递归函数,函数类型:()->Unit,lambdas:{t:T->body},不使用的参数_,Literals,
4. 属性
关键字
val/var/get/set/field/this/null/const/lateinit
属性声明,get、set方法,backing field,属性override,属性委托,
5. 语句和表达式
关键字
package/import/return/break/continue/if/else/when/for/do/while/is/as/in/throw/try/catch/**finally
if表达式,when表达式,循环for、while、do while,表达式标签loop@ for(i in 1..2){},try catch表达式
6. 泛型
7. 其他
解构,集合,可变集合,区间,类型检查和转换,this,==和===,操作符重载operator,null安全,异常处理,注解,反射,dsl