Kotlin反射

Kclass
  1. Kotlin的KClass和java的Class可以看作同一个含义的类型,并且可以通过.java 和.kotlin方法在KClass和Class之间互相转化。
    isCompanion : 是否是伴生对象
    isData : 是否是数据类
    isSealed : 是否是密封类
    objectInstance : object实例(如果是object)
    companionObjectInstance : 伴生对象实例
    declaredMemberExtensionFunctions : 扩展函数
    declaredMemberExtensionProperties : 扩展属性
    memberExtensionFunctions : 本类及超类扩展函数
    memberExtensionProperties : 本类及超累扩展属性
    starProjectedType : 泛型通配类型
KCallable

1.Kotlin把Class中的属性(Kproperty)、函数(KFunction)甚至是构造函数都看作KCallable

// KClass的成员members,返回的是KCallable的集合
override val members: Collection<KCallable<*>>

KCallable提供的API如下
isAbstract:Boolean<KParameter> : 此KCallable是否是抽象的
isFinal:Boolean : 此KCallable是否为final的
isOpen:Boolean : 此KCallable是否未open
name:String : 此KCallable的名称
parameters:List<KParameter> : 调用此KCallable需要的参数
returenType:KType : 此KCallable的返回类型
typeParameters:List<KTypeParameter> : 此KCallable的类型参数
visibility:KVisibility? : 此KCallable的可见性
call(vararg args:Any?) : R : 给定参数调用此KCallable

获取参数信息
  1. 函数的参数(KParameter) 函数的返回值(KType) 类型参数(KTypeParameter)
  2. KParameter 参数
  3. KType 类型
  4. KTypeParameters类型参数 typeParameters
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值