2013-02-19 2 views
1

У меня есть два класса и два интерфейса. InterfaceAМетод, указанный дважды в JavaDoc

package ch.sukha.testmachine.client; 
interface InterfaceA { 
    /** 
    * Foo. 
    */ 
    void foo(); 
} 

является супер интерфейс InterfaceB.

package ch.sukha.testmachine.client; 
public interface InterfaceB extends InterfaceA { 
    /** 
    * Bar. 
    */ 
    void bar(); 
} 

Аналогично, класс A это супер класс

package ch.sukha.testmachine.client; 
class A implements InterfaceA { 
    @Override 
    public void foo() { 
    } 
} 

класса B.

package ch.sukha.testmachine.client; 
public class B extends A implements InterfaceB { 
    @Override 
    public void bar() { 
    } 
} 

В сгенерированном JavaDoc, метод foo появляется дважды.

enter image description here

+3

Ваш javadoc показывает, что B расширяет объект, который не соответствует вашему коду. Вы пробовали перегенерировать javadoc? – assylias

+1

Это правильно, потому что A не экспортируется. Я хочу создать несколько подклассов A и повторно использовать документацию InterfaceA. – Peter

+0

Вы пытались использовать '@ Override' перед методами интерфейса? вы должны использовать это в любом случае для лучшего стиля кода. – Simulant

ответ

1

А не экспортируется. Я хочу создать несколько подклассов A и повторно использовать документацию InterfaceA.

Экспортировать все на JavaDoc.

Чтобы повторно использовать его части, вы можете использовать

@inheritDoc 

аннотацию.

+0

Спасибо большое! Я искал что-то подобное. – Peter

Смежные вопросы