如何引用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()
至
/**
* 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
标记。
您可以在JavaDoc工具参考页面找到许多关于JavaDoc的信息,包括关于JavaDoc的信息
{@link package.class#成员标签}
标签(你正在寻找):
例如,下面是一个引用getComponentAt(int,int)方法的注释:
Use the {@link #getComponentAt(int, int) getComponentAt} method.
有关JavaDoc的其他有用链接是:
来自javadoc文档的@link部分的一般格式是:
例子
同一班级的方法:
/** 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不断发展时,这可能会变得很脆弱。
类型擦除和#成员
如果方法签名包含参数化类型,请使用javadoc @link中的这些类型的擦除。 例如:
int bar( Collection<Integer> 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();
}
链接地址: http://www.djcxy.com/p/50203.html