Встречается на собеседованиях • сегодня
Можно ли изменить публичный метод в чужой библиотеке
В Java нельзя напрямую изменить публичный метод в чужой библиотеке, если у вас нет доступа к её исходному коду. Однако есть несколько обходных путей:
- Наследование (если класс не final):
java
public class CustomLib extends OriginalLib {
@Override
public void originalMethod() {
// новая реализация
}
}- Композиция (обертывание):
java
public class LibWrapper {
private OriginalLib original;
public void modifiedMethod() {
// кастомная логика + вызов original.method()
}
}-
Аспектно-ориентированное программирование (AOP) через Spring AOP или AspectJ
-
Инструменты модификации байт-кода (ASM, Byte Buddy)
Важно: такие изменения могут нарушить контракт библиотеки и привести к неожиданным ошибкам. Лучше сначала рассмотреть возможность использования callback-ов или других точек расширения, предусмотренных авторами библиотеки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы