Junior — Middle
88
Come si può accedere ai campi privati di un oggetto tramite riflessione?
Le aziende dove è stato chiesto
ООО СКВАД
Risposta dell'AI
sobes.tech AI
В Java через рефлексию можно получить доступ к закрытым (private) полям объекта, изменив их доступность с помощью метода setAccessible(true). Это позволяет читать и изменять значения таких полей.
Пример:
import java.lang.reflect.Field;
public class Example {
private String secret = "hidden";
public static void main(String[] args) throws Exception {
Example obj = new Example();
Field field = Example.class.getDeclaredField("secret");
field.setAccessible(true); // снимаем ограничение доступа
// Читаем значение закрытого поля
String value = (String) field.get(obj);
System.out.println("Secret value: " + value);
// Изменяем значение закрытого поля
field.set(obj, "revealed");
System.out.println("New secret value: " + field.get(obj));
}
}
Важно помнить, что использование setAccessible(true) может нарушать инкапсуляцию и должно применяться с осторожностью.