Общий формат из @ раздел ссылок документации javadoc:
![{@link package.class # member label}](https://i.stack.imgur.com/HGVDj.png)
Примеры
Метод из того же класса:
/** See also {@link #myMethod(String)}. */
void foo() { ... }
Метод в другом классе либо в том же пакете, либо импортирован:
/** See also {@link MyOtherClass#myMethod(String)}. */
void foo() { ... }
Метод в другом пакете, но не импортированный:
/** See also {@link com.mypackage.YetAnotherClass#myMethod(String)}. */
void foo() { ... }
Ярлык, связанный с методом, в виде обычного текста, а не шрифта кода:
/** See also this {@linkplain #myMethod(String) implementation}. */
void foo() { ... }
Цепочка вызовов методов, как в вашем вопросе. Мы должны указать метки для ссылок на методы вне этого класса, иначе мы получим getFoo().Foo.getBar().Bar.getBaz()
. Но эти метки могут быть хрупкими во время рефакторинга - см. Этикетки ниже.
/**
* A convenience method, equivalent to
* {@link #getFoo()}.{@link Foo#getBar() getBar()}.{@link Bar#getBaz() getBaz()}.
* @return baz
*/
public Baz fooBarBaz()
Этикетки
Автоматический рефакторинг не может повлиять на ярлыки. Сюда входит переименование метода, класса или пакета; и изменение сигнатуры метода.
Поэтому используйте метку только, если вы хотите, чтобы текст отличался от текста по умолчанию.
Например, вы можете связать человеческий язык с кодом:
/** You can also {@linkplain #getFoo() get the current foo}. */
void setFoo( Foo foo ) { ... }
Или вы можете сделать ссылку из образца кода с текстом, отличным от текста по умолчанию, как показано выше в разделе «Цепочка вызовов методов». Однако это может быть хрупким по мере развития API.
Введите стирание и #member
Если сигнатура метода включает параметризованные типы, используйте удаление этих типов в javadoc @link. Например:
int bar( Collection<Integer> receiver ) { ... }
/** See also {@link #bar(Collection)}. */
void foo() { ... }
person
Andy Thomas
schedule
06.05.2011