Sobes.tech
Назад к вопросам
Middle
6

Что такое рефлексия в Java и для чего она нужна?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

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

Она нужна для:

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

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

Class<?> clazz = Class.forName("java.lang.String");
Method method = clazz.getMethod("substring", int.class, int.class);
String str = "Hello, world!";
String result = (String) method.invoke(str, 7, 12); // result будет "world"

Здесь мы динамически вызываем метод substring у строки без прямого обращения к нему в коде.