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

Можешь показать пример, когда и как применяется Reflection API в Java?

Компании, где спрашивали
Передовые Платежные Решения

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

sobes.tech AI

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

Пример использования: допустим, у вас есть класс, имя которого приходит в виде строки, и вы хотите создать его экземпляр и вызвать метод без прямого обращения к классу.

public class ReflectionExample {
    public static void main(String[] args) throws Exception {
        String className = "java.util.ArrayList";
        Class<?> clazz = Class.forName(className); // загрузка класса по имени
        Object instance = clazz.getDeclaredConstructor().newInstance(); // создание объекта

        // вызов метода add
        Method addMethod = clazz.getMethod("add", Object.class);
        addMethod.invoke(instance, "Пример");

        System.out.println(instance); // вывод: [Пример]
    }
}

Reflection часто используется в фреймворках, например, для внедрения зависимостей, сериализации, тестирования и др.