Sobes.tech
Junior — Middle

Java'da Reflection API'nin ne zaman ve nasıl kullanıldığına dair bir örnek gösterebilir misin?

sobes.tech yapay zeka

AI'dan gelen yanıt

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