Kotlin反射入门
学习在运行时检查类、属性和函数,理解KClass、KProperty和KFunction的使用。 · 难度:入门 · +15XP
反射基础
Kotlin反射允许你在运行时获取类和成员的信息。使用::class获取KClass实例。
获取类引用
val c = String::class
println(c.simpleName) // String
println(c.qualifiedName) // kotlin.String成员属性
data class Person(val name: String, val age: Int)
fun main() {
val person = Person("Alice", 30)
val prop = Person::name
println(prop.get(person)) // Alice
}
调用函数
fun greet(name: String) = "Hello, $name"
fun main() {
val func = ::greet
println(func.call("Bob")) // Hello, Bob
}
| 反射元素 | 类型 |
|---|---|
| 类 | KClass |
| 属性 | KProperty |
| 函数 | KFunction |
练习提示
编写一个函数,接收任意对象并打印其所有属性名和值。