Sobes.tech
Junior — Middle
71

Какое назначение и сферы применения имеет API Reflection?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

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

Основные сферы применения:

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

Пример использования:

Class<?> clazz = Class.forName("java.util.ArrayList");
Object instance = clazz.getDeclaredConstructor().newInstance();
Method addMethod = clazz.getMethod("add", Object.class);
addMethod.invoke(instance, "Пример");
System.out.println(instance);