Back to questions
Junior — Middle
63
Можешь показать пример, когда и как применяется Reflection API в Java?
Companies where asked
Передовые Платежные Решения
Answer from AI
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 часто используется в фреймворках, например, для внедрения зависимостей, сериализации, тестирования и др.