Есть ли способ включить имя интерфейса при реализации метода

Есть ли способ включить имя интерфейса при реализации метода? Если бы мне пришлось реализовать 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 и компилятора.

Разумное имя метода будет отражать то, что делает метод, и вы должны быть в состоянии связать его с интерфейсом, к которому принадлежит метод.

С точки зрения устранения ошибок, большинство редакторов проведут вас через реализованный Интерфейс и метод за несколько нажатий клавиш.

Другие вопросы по тегам