Встречается на собеседованиях • сегодня

Для чего нужна рефлексия

Рефлексия в Java позволяет анализировать и модифицировать структуру классов, методы, поля и другие элементы во время выполнения программы. Основные применения:

  1. Динамический анализ классов – получение информации о полях, методах, конструкторах, аннотациях.
  2. Вызов методов – возможность вызывать методы по имени в runtime.
  3. Создание экземпляров – инстанцирование объектов без явного указания класса.
  4. Работа с приватными членами – доступ к private полям/методам (с ограничениями).

Пример:

java
Class<?> clazz = Class.forName("java.util.ArrayList");
Object list = clazz.getDeclaredConstructor().newInstance();
Method addMethod = clazz.getMethod("add", Object.class);
addMethod.invoke(list, "Reflection test");

Используется в ORM (Hibernate), DI-фреймворках (Spring), сериализаторах. Минусы: снижение производительности, проблемы с безопасностью, сложность отладки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы