反射是一系列语言和库的特性,允许在运行是获取你代码结构。 Kotlin 把函数和属性作为语言的头等类,而且反射它们和使用函数式编程或反应是编程风格很像。
类引用
最基本的反射特性就是得到运行时的类引用。要获取引用并使之成为静态类可以使用字面类语法
举例:
class C { fun declaredFun() {} } fun classReferences(): String { val c = C() return c::class.declaredFunctions.first().name } //Activity onCreate方法里 reflection_text.text = classReferences()reflection_text会得到 "declaredFun"
该引用是 KClass 类型的值。
请注意,Kotlin 类引用与 Java 类引用不同。要获得 Java 类引用, 请在 KClass
实例上使用 .java
属性