开始
Kotlin 反射依赖反射库实现
1 | implementation "org.jetbrains.kotlin:kotlin-reflect:1.8.10" |
Kotlin 中可以直接使用 java 的反射,目前 java 反射的性能还是高于 Kotlin,因此实际使用大多使用 java 反射
有两种方式获取 java 的 Class 对象
- javaClass 字段
- KClass 的 java 字段
kotlin 反射与 java 反射的类结构组成

类引用
kotlin 中的 KClass 类对应 java 的 Class 类
获取 KClass 类
1 | class Person |
函数引用
函数使用 ::
引用,引用的类型为 KFunction
1 | fun say(a: String): Int { |
属性引用
属性使用 ::
引用,引用类型为 KProperty
1 | val x = 20 |