2012-06-20 4 views
10

Wie verwende ich die @see javadoc richtig?Jaavadoc mit @see schreiben?

Meine Absicht ist es, eine abstrakte Klasse mit abstrakten Methoden zu haben. Diese Methoden haben Javadoc-Kommentare. Jetzt, wenn ich die abstrakte Klasse erweitern, überschreibe ich die Methoden und möchte @see verwenden.

Aber für alle Parameter, zB für return scheint die @see Verbindung nicht zu funktionieren. Eclipse beschwert sich immer noch, dass expected @return tag.

Also wie kann ich das verwenden?

public abstract class MyBase { 
    protected abstract void myFunc(); 
} 

class MyImpl extends MyBase { 

    /** 
    * @see MyBase#myFunc() 
    */ 
    @Override 
    protected void myFunc() { .. } 
} 
+0

Es funktioniert für mich. Ich kann schweben und F2 auf MyImpl.myFunc und sehe das Javadoc Ich schreibe auf MyBase.myFunc. – sudocode

Antwort

10

Für die Zwecke der Dokumentation von einer übergeordneten Klasse einschließlich sollten Sie {@inheritDoc} nicht @see verwenden.

Dann erhalten Sie die Dokumente der Oberklasse. Sie können hinzufügen, und Sie können Dinge wie @param und @return überschreiben, wenn Sie müssen.

public abstract class MyBase { 
    /** 
    * @param id The id that will be used for... 
    * @param good ignored by most implementations 
    * @return The string for id 
    */ 
    protected abstract String myFunc(Long id, boolean good); 
} 

class MyImpl extends MyBase { 

    /** 
    * {@inheritDoc} 
    * @param good is used differently by this implementation 
    */ 
    @Override 
    protected String myFunc(Long id, boolean good) { .. } 
}