Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от 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"); // изменяем значение