2013-02-10 11 views
50

Come posso creare un collegamento javadoc a un campo privato?Come collegare javadoc al campo privato?

class Foo { 
    private String bar; 
    public String getBar() { return bar; } 
} 

{@link Foo#getBar()} opere.

{@link Foo#bar} no.

+6

Perché si desidera collegare javadoc a qualcosa gli utenti finali non saranno in grado di vedere? –

+0

Io spesso @link per avere i javadoc rinominati automaticamente se rinominare ciò che è collegato. Quindi ho pensato di rinominare "bar" prima o poi, la javadoc si aggiornerebbe di conseguenza. – membersound

+4

@ X.L.Ant perché fa bene anche a te, quando guardi l'anno prossimo su quel campo privato, e non hai idea di cosa è destinato. Soprattutto quando il javadoc del public getter per quel feiled contiene solo un commento javadoc creato automaticamente: "metodo getter()" – AlexWien

risposta

77

La sintassi è bene, sia i seguenti lavori all'interno di una classe (e non c'è alcun motivo per collegare a un campo privato da una classe diversa):

public class Demo { 
    private int num = 0; 
    /** 
    * Access field {@link Demo#num}/{@link #num} ... 
    */ 
    private void foo() { ... } 
... 

Quando si genera il javadoc, ad esempio, tramite formica, basta specificare che i campi privati ​​dovrebbero essere inclusi (il minimo di accesso di default è "protetto", non è "privato"):

<target name="javadoc" depends="compile" description="gen javadoc"> 
    <javadoc destdir="build/docs" 
      author="true" 
      version="true" 
      use="true" 
      access="private" 
      windowtitle="Demo API"> 

    <fileset dir="src/main" defaultexcludes="yes"> 
     <include name="com/**"/> 
    </fileset> 

    <doctitle><![CDATA[<h1>Test</h1>]]></doctitle> 
    <link offline="true" href="http://download.oracle.com/javase/6/docs/api/" packagelistLoc="doc"/> 
    </javadoc> 
</target> 
5

Penso che quello che stai scrivendo nei commenti va bene, devi solo dire a JavaDoc di includere anche i campi privati ​​nella documentazione. JavaDoc ha un'opzione -private per questo. Controllare this answer.

Problemi correlati