Назад к вопросам
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"); // изменяем значение