Можно ли получить доступ к private полю класса

«Можно ли получить доступ к private полю класса» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно через рефлексию. Пример:

class MyClass {
    private val secret = "hidden"
}

fun main() {
    val instance = MyClass()
    val field = MyClass::class.java.getDeclaredField("secret")
    field.isAccessible = true
    val value = field.get(instance) as String
    println(value) // "hidden"
}

Но это нарушает инкапсуляцию и считается плохой практикой. Используйте только в крайних случаях (тестирование, отладка). В production-коде лучше работать через публичные методы класса.