Автоматически генерировать комментарий при переопределении функции интерфейса? - PullRequest
0 голосов
/ 30 августа 2018

Я хочу что-то вроде этого

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 голосов
/ 30 августа 2018

В 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} .

0 голосов
/ 30 августа 2018

Просто используйте JavaDoc, более понятный и читабельный

public interface A {
    /**
     * Write your method java doc
     * @param a The int must be in milliseconds
     */
    void doSth(int a);
}

Я также предлагаю вам использовать понятные имена параметров: например, вы можете заменить int a на int milliseconds

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...