Встречается на собеседованиях • сегодня
Создаешь ли новый класс при проксировании объекта
Да, при проксировании объекта в Java обычно создается новый класс динамически во время выполнения. Это делается с помощью Proxy.newProxyInstance(), который генерирует прокси-класс, реализующий указанные интерфейсы.
Пример:
java
interface Service {
void doWork();
}
Service realService = new Service() {
@Override
public void doWork() {
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");
return method.invoke(realService, args);
}
);
proxy.doWork(); // Выведет "Before method" и "Real work"
text
Прокси-класс не наследует оригинальный класс, а только реализует его интерфейсы. Для проксирования классов (без интерфейсов) используются библиотеки, например, CGLIB или ByteBuddy.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы