Встречается на собеседованиях • сегодня
Создает ли Proxy новый объект того же типа, что и исходный проксируемый объект
Proxy в Java не создает новый объект того же типа, что и исходный. Вместо этого он создает новый объект, реализующий те же интерфейсы, что и оригинальный объект, но с дополнительной логикой (например, для перехвата вызовов методов).
Пример:
java
interface Service {
void doWork();
}
class RealService implements Service {
public void doWork() {
System.out.println("Real work");
}
}
Service proxy = (Service) Proxy.newProxyInstance(
RealService.class.getClassLoader(),
new Class[]{Service.class},
(p, method, args) -> {
System.out.println("Before method");
return method.invoke(new RealService(), args);
}
);
proxy.doWork(); // Вызовет перехваченный метод
text
Proxy работает только с интерфейсами, а не с конкретными классами. Для классов можно использовать библиотеки вроде CGLIB.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы