@seeタグ (参照リンク)

広告

「@see」タグのもう一つの使い方として他のフィールドやメソッドへの参照リンクを表示するために使います。

@see reference

関連項目としてテキストやリンクを表示

記述場所 : 概要、パッケージ、クラス、インターフェース、フィールド、メソッド
複数記述 : 可
出力形式 : 関連項目
その他   :

他のフィールドやメソッドなどへの参照リンクを表示する場合です。

@see package.class#member label

「package.class#member」の形式で指定した他のメソッドなどへのリンクを作成します。リンクラベルには指定した「label」が表示されますが「label」は省略可能です。省略した場合はリンク先のメソッド名などが表示されます。

/**
 *  コメントの説明文
 *  @see Sample05_02#setSize(int, int) setSize
 */

上記ではパッケージ名を省略しています。このようにパッケージ名を省略したりクラス名までを省略して記述した場合には省略された部分を次の順序で指定された名前を検索します。

1. 現在のクラスまたはインタフェース
2. 外側を囲んでいるクラスとインタフェース (もっとも近いものから検索)
3. スーパークラスとスーパーインタフェース (もっとも近いものから検索)
4. 現在のパッケージ
5. インポートされているパッケージ、クラス、およびインタフェース (import 
   文の順序に従って検索)

常に完全名でパッケージからメンバーまでを指定すれば確実ですが、コメントが長々となってしまう場合があります。省略した形で記述するこでコメント箇所を簡潔に記述できます。

公式資料によれば次のような記述方法があります。

現在のクラスのメンバーを参照する 
@see  #field
@see  #method(Type, Type,...)
@see  #method(Type argname, Type argname,...)
@see  #constructor(Type, Type,...)
@see  #constructor(Type argname, Type argname,...)

現在の、またはインポートされたパッケージの別のクラスを参照する
@see  Class#field
@see  Class#method(Type, Type,...)
@see  Class#method(Type argname, Type argname,...)
@see  Class#constructor(Type, Type,...)
@see  Class#constructor(Type argname, Type argname,...)
@see  Class.NestedClass
@see  Class

別のパッケージの要素を参照する (完全修飾)
@see  package.Class#field
@see  package.Class#method(Type, Type,...)
@see  package.Class#method(Type argname, Type argname,...)
@see  package.Class#constructor(Type, Type,...)
@see  package.Class#constructor(Type argname, Type argname,...)
@see  package.Class.NestedClass
@see  package.Class
@see  package

サンプル

では簡単な例で試してみます。

Sample04_01.java

/**
 * Javadocテスト用クラス
 * @see Sample04_02
 */
public class Sample04_01{
  /**
   * サイズの設定
   * @param width 幅
   * @param height 高さ
   * @see Sample04_02#getWidth()
   * @see Sample04_02#getHeight()
   */
  public void setSize(int width, int height){

  }
}

Sample04_02.java

/**
 * Javadocテスト用クラス
 * @see Sample04_01
 */
public class Sample04_02{
  /**
   * 幅の取得
   * @return 幅
   * @see Sample04_01#setSize(int, int)
   * @see #getHeight()
   */
  public int getWidth(){

  }

  /**
   * 高さの取得
   * @return 高さ
   * @see Sample04_01#setSize(int, int)
   * @see #getWidth()
   */
  public int getHeight(){

  }
}

では上記のソースコードをそれぞれ「Sample04_01.java」及び「Sample04_02.java」の名前で保存し、その保存したディレクトリで次のように実行して下さい。

javadoc -d doc Sample04_01.java Sample04_02.java

「doc」ディレクトリ内にある「Sample04_01.html」ファイルをブラウザで見てください。

@seeタグ

@seeタグ

「Sample04_01」クラスについてはコメントとして「Sample04_02」クラスに対してリンクを設定しているため「関連項目」の箇所に「Sample04_02」クラスへの参照リンクが表示されています。

また「setSize」メソッドには「Sample04_02」クラス内の「getWidth」メソッドと「getHeight」メソッドに対してリンクが設定しています。こちらもメソッドの「関連項目」の箇所にそれぞれのメソッドへの参照リンクが表示されています。

では「Sample04_01」クラスの「関連項目」に記述されている「Sample04_02」リンクをクリックして下さい。「Sample04_02」クラスのドキュメントが表示されます。

@seeタグ

@seeタグ

@seeタグ

「Sample04_02」クラスについてはコメントとして「Sample04_01」クラスに対してリンクを設定しているため「関連項目」の箇所に「Sample04_02」クラスへの参照リンクが表示されています。

また「getWidth」メソッドには「Sample04_02」クラス内の「setSize」メソッドと同じクラス内の「getHeight」メソッドに対してリンクが設定しています。「getHeight」メソッドには「Sample04_02」クラス内の「setSize」メソッドと同じクラス内の「getWidth」メソッドに対してリンクが設定しています。

では「Sample04_02」クラスの「getWidth」メソッドの「関連項目」に記述されている「Sample04_01.setSize(int, int)」リンクをクリックして下さい。

@seeタグ

では「Sample04_01」クラスの「setWidth」メソッドが表示されます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)