如何在javadoc中引用方法?

如何在javadoc中引用方法?,java,hyperlink,javadoc,Java,Hyperlink,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 own

如何使用
@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
标记的格式。

例子 同一类中的方法:

/**
 * 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#myMethod(String)}*/
void foo(){…}
方法在不同的类中,在同一个包中或导入:

/**另请参见{@link MyOtherClass#myMethod(String)}*/
void foo(){…}
方法位于不同的包中且未导入:

/**另请参见{@link com.mypackage.YetAnotherClass#myMethod(String)}*/
void foo(){…}
链接到方法的标签,纯文本,而非代码字体:

/**另请参见此{@linkplain#myMethod(String)实现}*/
void foo(){…}
一系列方法调用,如您的问题所示。我们必须为指向此类之外的方法的链接指定标签,否则我们将得到
getFoo().Foo.getBar().Bar.getBaz()
。但这些标签在重构过程中可能很脆弱——请参阅下面的“标签”

/**
*一种方便的方法,相当于
*{@link#getFoo()}.{@link Foo#getBar()getBar()}.{@link Bar#getBaz()getBaz()}。
*@return baz
*/
公共Baz fooBarBaz()
标签 自动重构可能不会影响标签。这包括重命名方法、类或包;以及更改方法签名

因此,仅当需要与默认文本不同的文本时,才提供标签。

例如,您可以从人类语言链接到代码:

/**您还可以{@linkplain#getFoo()获取当前的foo}*/
void setFoo(Foo Foo){…}
或者,您可以使用不同于默认文本的代码示例链接,如上面“方法调用链”下所示。然而,在API不断发展的过程中,这可能是脆弱的

类型擦除和#成员 如果方法签名包括参数化类型,请在javadoc@link中删除这些类型。例如:

int-bar(收集接收器){…}
/**另见{@link#bar(集合)}*/
void foo(){…}

您将在上找到许多关于JavaDoc的信息,包括

标记(您正在寻找的)。文档中的相应示例如下所示

例如,下面是一条引用getComponentAt(int,int)方法的注释:

使用{@link#getComponentAt(int,int)getComponentAt}方法。

如果引用的方法在当前类中,则可以对包.class部分进行编辑


关于JavaDoc的其他有用链接有:


您可以使用
@参见
来执行此操作:

样本:

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();
    }

等等:我只想要带链接的方法名,我不想要类名。啊,好的。上面链接中的第一个示例说明,+1用于提供我在OracleJavadocHowto页面中没有链接到的Java6链接。我仍然无法与oracle链接相处。。。(修复了我答案中指向Java6的链接)。@K.Claszen:,然后在图表中单击,然后选择,@Paŭlo Ebermann谢谢!我知道这是几年前的事了,但是。。。查看官方Java类可以帮助您找到所需的任何形式的Javadoc格式。例如,看看HashMap Javadoc.OP:“我如何使用@link标记链接到一个方法?”@link标记可以按照OP的请求在段落中内联使用。@see标记不能。更多详细信息,请参阅。