Sobes.tech
Назад к вопросам
Junior — Middle
66

Можно ли через Reflection API изменить или считать значения приватных переменных класса?

Ответ от нейросети

sobes.tech AI

Да, через Reflection API в Java можно получить доступ к приватным полям класса и изменить или считать их значения. Для этого нужно вызвать метод setAccessible(true) у объекта Field, чтобы обойти проверку доступа.

Пример:

import java.lang.reflect.Field;

class Example {
    private String secret = "hidden";
}

Example obj = new Example();
Field field = Example.class.getDeclaredField("secret");
field.setAccessible(true); // разрешаем доступ
String value = (String) field.get(obj); // читаем значение
field.set(obj, "new value"); // изменяем значение