Назад к вопросам
СБЕР
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 у строки без прямого обращения к нему в коде.