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

Какой у вас опыт использования рефлексии в программировании?

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

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

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

import java.lang.reflect.Method;

public class ReflectionExample {
    public void sayHello() {
        System.out.println("Hello, reflection!");
    }

    public static void main(String[] args) throws Exception {
        ReflectionExample obj = new ReflectionExample();
        Method method = obj.getClass().getMethod("sayHello");
        method.invoke(obj); // вызов метода sayHello через рефлексию
    }
}

Рефлексия полезна для фреймворков, тестирования, динамической загрузки классов, но её стоит использовать с осторожностью из-за потери производительности и безопасности.