初识 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<Lizi>
val b = lizi::class//KClass<out Lizi>

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

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

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

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

可以看到:

//获取 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<Lizi>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值