Ссылочный параметр Javadoc из другого метода - PullRequest
11 голосов
/ 10 марта 2011

Я не хочу писать избыточные комментарии Javadoc. Как видите, @param x в некотором смысле избыточен. Есть ли разметка javadoc для установки ссылки от @param x в классе B до @param x в классе A или мне разрешено просто не указывать ее?

/**
 * Class A constructor
 * 
 * @param x  position on x-axis
 */
public A(final int x) {
    this.x = x;
}

/**
 * Class B constructor
 * 
 * @param x  position on x-axis
 * @param y  position on y-axis
 */
public B(final int x, final int y) {
    super(x);
    this.y = y
}

Ответы [ 3 ]

3 голосов
/ 10 марта 2011

Вы не можете это пропустить, javadoc не умный, он просто анализирует комментарии, он не может сказать, что параметр x для конструктора B такой же, как конструктор A, даже если это наследство в игре.

Я тоже не думаю, что есть способ "разложить" это. Вам просто нужно написать их все, извините ...

1 голос
/ 10 марта 2011

Если вы переопределяете родительский метод, если вы не включите javadoc, большинство IDE покажет javadoc для родительского метода. В противном случае невозможно определить / обратиться к переменным в синтаксисе javadoc.

1 голос
/ 10 марта 2011

С методами это должно работать: если вы перезаписываете или внедряете метод, параметры копируются, если не предоставлены.

Конструкторы не наследуются, а тем более конструктору с другими типами параметров. Javadoc не может знать, что вы передаете параметр другому конструктору, поскольку он не интерпретирует содержимое методов / конструкторов, а только внешний интерфейс.

Итак, я полагаю, вам не повезло, если вы не хотите писать свой собственный доклет или изменять стандартный доклет (и даже тогда вам придется как-то сказать, от какого конструктора наследовать параметры). (Это было бы полезным дополнением, я думаю, также для нескольких похожих методов в одном классе.)

...