2013-02-10 9 views
50

Wie kann ich eine Javadoc-Verbindung zu einem privaten Feld herstellen?Wie kann man Javadoc mit einem privaten Feld verknüpfen?

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

{@link Foo#getBar()} funktioniert.

{@link Foo#bar} nicht.

+6

Warum wollen Sie etwas Endnutzern javadoc zu nicht sehen können verlinkt werden? –

+0

Ich habe oft @link dafür, dass die Javadocs automatisch umbenannt werden, wenn ich umbenenne, was verlinkt ist. Also dachte ich, wenn ich "bar" irgendwann umbenennen würde, würde das Javadoc automatisch update. – membersound

+4

@ X.L.Ant, weil es auch gut für dich ist, wenn du nächstes Jahr auf dieses private Feld schaust und keine Ahnung hast, wofür es gedacht ist. Vor allem, wenn das Javadoc des öffentlichen Getters nur den automatisch erstellten Javadoc-Kommentar enthält: "getter method()" – AlexWien

Antwort

77

Die Syntax ist in Ordnung, sowohl die folgende Arbeit innerhalb einer Klasse (und es gibt keinen Grund zu einem privaten Feld von einer anderen Klasse zu verbinden):

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

Wenn die javadoc Erzeugung, beispielsweise über Ameise, angeben nur, dass private Felder einbezogen werden sollen (der Zugriffsstandard Minimum „geschützt“, nicht „privat“):

<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

Ich denke, was Sie in den Kommentaren schreiben, ist in Ordnung, Sie müssen nur JavaDoc sagen, um auch private Felder in die Dokumentation aufzunehmen. JavaDoc hat eine Option -Privat dafür. Überprüfen Sie this answer.

Verwandte Themen