Есть ли способ включить имя интерфейса при реализации метода
Есть ли способ включить имя интерфейса при реализации метода? Если бы мне пришлось реализовать 3 интерфейса, было бы трудно напомнить мне, откуда появился реализованный метод.
Если у меня есть 2 интерфейса, необходимые для реализации того же имени метода. Как я могу сказать, какой метод я реализую?
public interface BarInt {
void method();
}
public interface GeeInt{
void method();
}
public class Foo implements BarInt, GeeInt{
@Override
public void method() {
// TODO Auto-generated method stub
}
}
Спасибо
3 ответа
Да, вы можете просто использовать @see
комментарий Javadoc
public interface BarInt {
void method();
}
public class Foo implements BarInt{
/**
* @see BarInt#method()
*/
@Override
public void method() {
// TODO Auto-generated method stub
}
}
Ответ Новатерата в хорошем, это похожий подход с аннотациями.
Вы всегда можете свернуть свои собственные аннотации.
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Source {
Class value();
}
Тогда вы можете использовать это так:
@Source(List.class)
@Override
public boolean add(Object o) {
return false;
}
С политикой хранения Source
аннотация не будет частью байт-кода. Он служит только дополнительной информацией для читателя, IDE и компилятора.
Разумное имя метода будет отражать то, что делает метод, и вы должны быть в состоянии связать его с интерфейсом, к которому принадлежит метод.
С точки зрения устранения ошибок, большинство редакторов проведут вас через реализованный Интерфейс и метод за несколько нажатий клавиш.