覆盖接口功能时自动生成注释?

时间:2018-08-30 08:11:47

标签: java interface

我想这样

public interface A {
    void doSth(int a); // a in ms 
}

当我覆盖doSth时,注释“ a in ms”也会出现在代码中。

A a = new A() {
    @Override
    public void doSth(int a) { // a in ms
        ...
    }
};

2 个答案:

答案 0 :(得分:1)

只需使用 *{ margin:0; padding:0; box-sizing:border-box; } .global{ background:#efefef; .topText, .botText{ margin:10px; } .content{ margin:200px 0; background:#eee777; width:100%; .bgParallax{ position: relative; width:100%; height:400px; .leftSection{ position: absolute; top: -100px; left: 10%; background: #ddca7e; width: 40%; height: 400px; } .rightSection{ position: absolute; top: 100px; right: 10%; background: #ffdd40; width: 40%; height: 400px; } } } } ,使其更清晰易读

UIApplication.shared.addObserver(self, forKeyPath: "statusBarHidden", options: .new, context: nil)

我还建议您使用明确的参数名称:例如,您可以将override func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options: NSKeyValueObservingOptions = [], context: UnsafeMutableRawPointer?) { if keyPath == "statusBarHidden" { print("statusBarHidden") } } 替换为JavaDoc

答案 1 :(得分:0)

在eclipse中,有一个名为自动生成注释的选项,当您创建新的类或接口时,该选项将生成注释存根。

您将必须在界面中自己编写javadoc注释,如下所示:

public interface IThing {

    /**
     * This method does something with milliseconds
     * @param millis the milliseconds for the calculation
     */
    void doSomething(int millis);
}

然后,当您创建实现该接口的类时,被覆盖的方法将在其javadoc注释中获得引用,从而使它们在接口中显示该方法的注释:

public class Thing implements IThing {

    /* (non-Javadoc)
     * @see mypackage.IThing#doSomething(int)
     */
    @Override
    public void doSomething(int millis) {
        System.out.println("The calculation got the value of "
                + millis + " milliseconds as parameter");
    }

}

语法看起来像javadoc-tag {package}.{interface}#{method(parameter type}
此处:@see mypackage.IThing#doSomething(int)

我不知道您是否正在使用eclipse,但似乎您也可以在其他IDE中使用这些引用(我认为这是javadoc功能)。 试试吧,也许(几乎)是您想要的……

  

或者,您可能想看看{@inheritDoc}