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

Reflection API в Java позволяет исследовать и изменять поведение программ во время выполнения.

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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 часто используется в фреймворках, например, для внедрения зависимостей, сериализации, тестирования и др.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

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

Подробнее