Как ссылаться на метод в javadoc?
Как использовать тег @link
для ссылки на метод?
я хочу изменить
/** * Returns the Baz object owned by the Bar object owned by Foo owned by this. * A convenience method, equivalent to getFoo().getBar().getBaz() * @return baz */ public Baz fooBarBaz()
в
- Связывание значения столбца в jqGrid с новой страницей с помощью GET
- Scrapy: Следуйте ссылке, чтобы получить дополнительные данные элемента?
- Может ли Google Chrome открывать локальные ссылки?
- Редактирование гиперссылок и якорей в PDF с помощью ITextSharp
- C # regex pattern для извлечения URL-адресов из заданной строки - не полный URL-адрес html, но также и ссылки
/** * Returns the Baz object owned by the Bar object owned by Foo owned by this. * A convenience method, equivalent to {@link getFoo()}.{@link getBar()}.{@link getBaz()} * @return baz */ public Baz fooBarBaz()
но я не знаю, как правильно отформатировать тег @link
.
- Использование jQuery для программного перехода по ссылке
- Facebook share link - можете ли вы настроить текст сообщения?
- Найти имя пакета для приложений Android, чтобы использовать Intent для запуска приложения Market из Интернета
- jQuery отключить ссылку
- Как создать ссылки в текстовом клиенте?
- Как создать прямую ссылку на любую коробку fancybox
- Изменить цвет текста в тексте TextView и щелкнуть?
- Пример использования гиперссылки в WPF
Вы найдете много информации о JavaDoc на странице справки JavaDoc Tool , включая информацию о
{@link package.class # member label}
тег (который вы ищете):
Например, вот комментарий, который ссылается на метод getComponentAt (int, int):
Use the {@link #getComponentAt(int, int) getComponentAt} method.
Другие полезные ссылки о JavaDoc:
- Технология JavaDoc
- Как написать комментарии к Doc для инструмента Javadoc
Общий формат из раздела @link документации javadoc :
Примеры
Метод в том же classе:
/** See also {@link #myMethod(String)}. */ void foo() { ... }
Метод в другом classе, либо в том же пакете, либо импортирован:
/** 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() { ... }
Цепочка методов вызывает, как в вашем вопросе. Мы должны указывать метки для ссылок на методы вне этого classа, или мы получаем 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()
Этикетки
Автоматический рефакторинг может не влиять на метки. Это включает переименование метода, classа или пакета; и изменение сигнатуры метода.
Поэтому дайте ярлык только в том случае, если вам нужен другой текст, чем по умолчанию.
Например, вы можете ссылаться на человеческий язык на код:
/** You can also {@linkplain #getFoo() get the current foo}. */ void setFoo( Foo foo ) { ... }
Или вы можете ссылаться на образец кода с текстом, отличным от значения по умолчанию, как показано выше в разделе «Цепь вызовов методов». Однако это может быть хрупким, в то время как API-интерфейсы развиваются.
Тип стирания и # члена
Если сигнатура метода включает параметризованные типы, используйте стирание этих типов в javadoc @link. Например:
int bar( Collection receiver ) { ... } /** See also {@link #bar(Collection)}. */ void foo() { ... }
вы можете использовать @see
для этого:
образец:
interface View { /** * @return true: have read contact and call log permissions, else otherwise * @see #requestReadContactAndCallLogPermissions() */ boolean haveReadContactAndCallLogPermissions(); /** * if not have permissions, request to user for allow * @see #haveReadContactAndCallLogPermissions() */ void requestReadContactAndCallLogPermissions(); }