初识 Kotlin (四) ---- 获取 Kotlin 中 class 的实例

Kotlin的类

class Lizi {
    var name: String = ""
    var age: Int = 0
    companion object {

    }
}

对于 Kotlinclass 要知道获取的到底是什么,可以利用 AS 的类型提示,一目了然(IDEA 类型查看快捷键 --> Ctrl + Q):

val lizi = Lizi()

val a = Lizi::class//KClass
val b = lizi::class//KClass

val c = Lizi::class.java//Class
val d = lizi::class.java//Class

val e = Lizi::javaClass//val e: KProperty1
val f = lizi::javaClass//val f: KProperty0>

val g = Lizi.javaClass//val g: Class, 这里获取的是伴生类的class,属性都在原类
val h = lizi.javaClass//val h: Class//这里获取的是 Lizi 类的 class

val i = Lizi.javaClass.kotlin//val i: KClass
val j = lizi.javaClass.kotlin//val j: KClass

可以看到:

//获取 Java  的  Class  实例
class Hello //kotlin class

val clazz = Hello::class.java//第一种方式

val hello = Hello()
val clazz2 = hello.javaClass//第二种方式


//获取 Kotlin 的  Class  实例
val lizi = Lizi()
val j = lizi.javaClass.kotlin//val j: KClass

你可能感兴趣的:(kotlin)