Javadoc belgelerinin @link bölümündeki genel biçim şöyledir:
Örnekler
Aynı sınıfta yöntem:
/** See also {@link #myMethod(String)}. */
void foo() { ... }
Aynı paketteki veya içe aktarılan farklı bir sınıftaki yöntem :
/** See also {@link MyOtherClass#myMethod(String)}. */
void foo() { ... }
Farklı bir paketteki ve içe aktarılmayan yöntem :
/** See also {@link com.mypackage.YetAnotherClass#myMethod(String)}. */
void foo() { ... }
Yönteme bağlı etiket, kod yazı tipi yerine düz metin olarak etiketlendi :
/** See also this {@linkplain #myMethod(String) implementation}. */
void foo() { ... }
Sorunuzda olduğu gibi bir yöntem zinciri çağırır . Bu sınıfın dışındaki yöntemlere bağlantılar için etiketler belirtmeliyiz, yoksa alırız getFoo().Foo.getBar().Bar.getBaz()
. Ancak bu etiketler kırılgan olabilir; aşağıdaki "Etiketler" e bakın.
/**
* A convenience method, equivalent to
* {@link #getFoo()}.{@link Foo#getBar() getBar()}.{@link Bar#getBaz() getBaz()}.
* @return baz
*/
public Baz fooBarBaz()
Etiketler
Otomatik yeniden düzenleme etiketleri etkilemeyebilir. Buna yöntemin, sınıfın veya paketin yeniden adlandırılması; ve yöntem imzasını değiştirme.
Bu nedenle, yalnızca varsayılandan farklı bir metin istiyorsanız bir etiket sağlayın .
Örneğin, insan dilinden koda bağlantı oluşturabilirsiniz:
/** You can also {@linkplain #getFoo() get the current foo}. */
void setFoo( Foo foo ) { ... }
Veya bir kod örneğinden, yukarıda "Yöntem çağrısı zinciri" altında gösterildiği gibi varsayılandan farklı bir metinle bağlantı oluşturabilirsiniz. Bununla birlikte, API'lar gelişirken kırılgan olabilir.
Silme ve # üye yazın
Yöntem imzasında parametreli türler varsa, javadoc @link içindeki bu türlerin silinmesini kullanın. Örneğin:
int bar( Collection<Integer> receiver ) { ... }
/** See also {@link #bar(Collection)}. */
void foo() { ... }