Sobes.tech
Junior — Middle
95

Zašto koristiti refleksiju za pristup privatnim svojstvima objekata?

Компаније где су питане
ООО СКВАД

Одговор од АИ

sobes.tech АИ

Рефлексия в Java позволяет получить доступ к приватным полям и методам объектов, обходя ограничения инкапсуляции. Это полезно в следующих случаях:

  • Для тестирования — можно проверить внутреннее состояние объекта, не меняя его интерфейс.
  • Для сериализации/десериализации — доступ к приватным полям позволяет сохранять и восстанавливать состояние объекта.
  • Для фреймворков и библиотек (например, ORM, DI-контейнеры) — они используют рефлексию, чтобы автоматически настраивать объекты.

Пример доступа к приватному полю через рефлексию:

class Person {
    private String name = "John";
}

Person p = new Person();
Field field = Person.class.getDeclaredField("name");
field.setAccessible(true); // разрешаем доступ
String name = (String) field.get(p);
System.out.println(name); // John