如何引用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技术
  • 如何为Javadoc工具编写文档注释

  • 来自javadoc文档的@link部分的一般格式是:

    {@link package.class#成员标签}

    例子

    同一班级的方法:

    /** 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

    上一篇: How to reference a method in javadoc?

    下一篇: How to use Javadoc options (such as