Format umum, dari bagian @link dari dokumentasi javadoc , adalah:
Contohnya
Metode di kelas yang sama:
/** See also {@link #myMethod(String)}. */
void foo() { ... }
Metode di kelas yang berbeda, baik dalam paket yang sama atau diimpor:
/** See also {@link MyOtherClass#myMethod(String)}. */
void foo() { ... }
Metode dalam paket berbeda dan tidak diimpor:
/** See also {@link com.mypackage.YetAnotherClass#myMethod(String)}. */
void foo() { ... }
Label yang ditautkan dengan metode, dalam teks biasa, bukan font kode:
/** See also this {@linkplain #myMethod(String) implementation}. */
void foo() { ... }
Rantai panggilan metode, seperti dalam pertanyaan Anda. Kita harus menentukan label untuk tautan ke metode di luar kelas ini, atau kita dapatkan getFoo().Foo.getBar().Bar.getBaz()
. Tetapi label ini bisa rapuh; lihat "Label" di bawah ini.
/**
* A convenience method, equivalent to
* {@link #getFoo()}.{@link Foo#getBar() getBar()}.{@link Bar#getBaz() getBaz()}.
* @return baz
*/
public Baz fooBarBaz()
Label
Refactoring otomatis mungkin tidak mempengaruhi label. Ini termasuk mengganti nama metode, kelas atau paket; dan mengubah tanda tangan metode.
Karena itu, berikan label hanya jika Anda ingin teks yang berbeda dari yang standar.
Misalnya, Anda dapat menautkan dari bahasa manusia ke kode:
/** You can also {@linkplain #getFoo() get the current foo}. */
void setFoo( Foo foo ) { ... }
Atau Anda dapat menautkan dari sampel kode dengan teks yang berbeda dari standar, seperti yang ditunjukkan di atas di bawah "Rantai panggilan metode". Namun, ini bisa rapuh saat API sedang berkembang.
Ketik erasure dan #member
Jika tanda tangan metode menyertakan tipe parameter, gunakan penghapusan tipe tersebut di javadoc @link. Sebagai contoh:
int bar( Collection<Integer> receiver ) { ... }
/** See also {@link #bar(Collection)}. */
void foo() { ... }