Я ищу сказать, когда один конкретный метод в интерфейсе называется, учитывая простой интерфейс:Как сказать, когда метод в интерфейсе называется
public interface Foo {
String bar();
int foobar();
}
Я хочу, чтобы иметь возможность сделать что-то когда bar()
вызывается в другом классе, но я хочу, чтобы другие классы реализовали Foo
и @Override
его методы.
Помните, что я не могу отредактировать класс Foo
.
Бар должен быть переопределен, чтобы быть вызванным. Почему бы не реализовать его при переопределении? –
Что вы подразумеваете под «вы хотите сказать, когда bar() называется». Зачем вам это нужно? Я спрашиваю, потому что на самом деле нет чистого способа сделать это. Или, другими словами: очень вероятно, что ваш общий дизайн нарушен, если вы считаете, что вам нужна такая информация (во время выполнения). Поэтому, пожалуйста, скажите нам немного больше ... – GhostCat
Вы можете сделать это с использованием аспектно-ориентированного программирования: http://aspects.jcabi.com/ и, в частности, что-то вроде аннотации «Loggable»: http://aspects.jcabi.com/ apidocs-0.22.3/com/jcabi/аспекты/Loggable.html –