web-dev-qa-db-ja.com

javadocをプライベートフィールドにリンクする方法は?

プライベートフィールドへのjavadocリンクを作成するにはどうすればよいですか?

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

{@link Foo#getBar()}は機能します。

_{@link Foo#bar}_はしません。

74
membersound

構文は問題ありません。次の両方がクラス内で機能します(異なるクラスからプライベートフィールドにリンクする理由はありません)。

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

たとえば、antを介してjavadocを生成する場合は、プライベートフィールドを含めるように指定するだけです(デフォルトの最小アクセスは「private」ではなく「protected」です)。

<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>
109
michael

コメントに書いていることは問題ないと思います。JavaDocにドキュメントにプライベートフィールドも含めるように指示するだけです。 JavaDocには、このための-privateオプションがあります。 この回答 を確認してください。

6
damix911