Sobes.tech
Junior — Middle

Qual è lo scopo e in quali ambiti viene utilizzata l'API Reflection?

sobes.tech AI

Risposta dell'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);