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

Получает ли Proxy объект в метод

Proxy объект в Java не получает сам себя в качестве аргумента метода. При вызове метода на прокси-объекте, вызов перехватывается InvocationHandler, который получает:

  1. Прокси-объект (но не передается в метод)
  2. Метод, который был вызван
  3. Аргументы метода

Пример:

java
interface Service {
    void doWork();
}

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

InvocationHandler handler = (proxy, method, args) -> {
System.out.println("Before method call");
Object result = method.invoke(new ServiceImpl(), args);
System.out.println("After method call");
return result;
};

Service proxy = (Service) Proxy.newProxyInstance(
Service.class.getClassLoader(),
new Class[]{Service.class},
handler
);

proxy.doWork(); // Вызов через прокси

text

В этом примере `proxy` не передается в метод `doWork()`. Вместо этого InvocationHandler получает ссылку на прокси как первый параметр.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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