当前位置:嗨网首页>书籍在线阅读

03-类成员引用

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

10.1.2 类成员引用

反射常见的一个使用场景就是获取枚举类的成员对象,如类的成员属性和方法等。在Kotlin的引用类中,有多个函数可以实现此功能,如Properties、Functions等。

fun main(args: Array<String>) {
    var user=User::class
    println("成员数量:"+user.members.size)
    println("------------------")
    //获取所有成员
    for (m in user.members){
        println("成员名:"+m.name+",成员类型:"+m.returnType)
    }
    println("--------------------------------------")
    //获取所有成员的属性
    for (m in user.memberProperties){
        println("成员名:"+m.name+",成员类型:"+m.returnType)
    }
}
class User(val name:String,val age:Int){
    fun special(){}
}

运行上面的代码,输出的结果如下。

成员数量:6
------------------
成员名:age,成员类型:kotlin.Int
成员名:name,成员类型:kotlin.String
成员名:special,成员类型:kotlin.Unit
成员名:equals,成员类型:kotlin.Boolean
成员名:hashCode,成员类型:kotlin.Int
成员名:toString,成员类型:kotlin.String
--------------------------------------
成员名:age,成员类型:kotlin.Int
成员名:name,成员类型:kotlin.String