1. 程式人生 > >kotlin反射中的類引用

kotlin反射中的類引用

反射是一系列語言和庫的特性,允許在執行是獲取你程式碼結構。 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 屬性