Назад к вопросам
Junior — Middle
64
Каким образом в Kotlin осуществляется работа с рефлексией?
Компании, где спрашивали
Спецвузавтоматика
Ответ от нейросети
sobes.tech AI
В Kotlin работа с рефлексией осуществляется с помощью пакета kotlin.reflect. Основной класс — KClass, который представляет класс во время выполнения. Через рефлексию можно получить информацию о свойствах, функциях, конструкторах и аннотациях классов.
Пример получения имени класса и списка его свойств:
import kotlin.reflect.full.memberProperties
class User(val name: String, val age: Int)
fun main() {
val kClass = User::class
println("Class name: ${kClass.simpleName}")
for (prop in kClass.memberProperties) {
println("Property: ${prop.name}")
}
}
Также можно вызывать функции и создавать экземпляры через рефлексию, но для этого иногда требуется использовать Java Reflection API (java.lang.reflect).
Рефлексия полезна для динамического анализа и работы с объектами, например, при сериализации, DI или написании фреймворков.