Встречается на собеседованиях • сегодня

Как создать Proxy

В Java можно создать прокси с помощью java.lang.reflect.Proxy. Он динамически создает класс-обертку, перехватывающий вызовы методов интерфейса. Пример:

java
interface Service {
    void doSomething();
}

class RealService implements Service {
    public void doSomething() {
        System.out.println("Real work");
    }
}

Service proxy = (Service) Proxy.newProxyInstance(
Service.class.getClassLoader(),
new Class[]{Service.class},
(p, method, args) -> {
System.out.println("Before method");
Object result = method.invoke(new RealService(), args);
System.out.println("After method");
return result;
}
);

proxy.doSomething();

text

Вывод:

Before method
Real work
After method

text

Ключевые моменты:
1. Работает только с интерфейсами
2. `InvocationHandler` перехватывает вызовы методов
3. Полезно для AOP, логгирования, транзакций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы