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

Можно ли изменить публичный метод в чужой библиотеке

В Java нельзя напрямую изменить публичный метод в чужой библиотеке, если у вас нет доступа к её исходному коду. Однако есть несколько обходных путей:

  1. Наследование (если класс не final):
java
public class CustomLib extends OriginalLib {
    @Override
    public void originalMethod() {
        // новая реализация
    }
}
  1. Композиция (обертывание):
java
public class LibWrapper {
    private OriginalLib original;
    
    public void modifiedMethod() {
        // кастомная логика + вызов original.method()
    }
}
  1. Аспектно-ориентированное программирование (AOP) через Spring AOP или AspectJ

  2. Инструменты модификации байт-кода (ASM, Byte Buddy)

Важно: такие изменения могут нарушить контракт библиотеки и привести к неожиданным ошибкам. Лучше сначала рассмотреть возможность использования callback-ов или других точек расширения, предусмотренных авторами библиотеки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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