Sobes.tech
Назад к вопросам
Junior — Middle
65

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

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

sobes.tech AI

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

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

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); // "world"

Здесь мы динамически получили класс String, метод substring и вызвали его на объекте str, не используя прямой вызов в коде.