Sobes.tech
Back to questions
Junior — Middle
65

Каким образом в Kotlin осуществляется работа с рефлексией?

Companies where asked
Спецвузавтоматика

Answer from AI

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 или написании фреймворков.