Базовый параметр Javadoc от другого метода
Я не хочу писать избыточные комментарии 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
}
Ответы
Ответ 1
Вы не можете его оставить, javadoc
не является умным, он просто анализирует комментарии, он не может сказать, что параметр x
для конструктора B такой же, как конструктор A, даже если является наследованием в игре.
Я не думаю, что есть способ "разложить факторизацию". Вам просто нужно написать все, извините...
Ответ 2
С помощью методов он должен работать: если вы перезаписываете или реализуете метод, параметры копируются, если не указаны.
Конструкторы не наследуются, а тем более - конструктору с другими типами параметров. Javadoc не знает, что вы передаете параметр другому конструктору, поскольку он не интерпретирует содержимое методов/конструкторов, а только внешний интерфейс.
Итак, я полагаю, вам не повезло, если вы не хотите писать свой собственный документ или менять стандартный документ (и даже тогда вам придется как-то сказать, какой конструктор наследует параметры из). (Это было бы полезным дополнением, также для нескольких аналогичных методов в одном классе, я думаю.)
Ответ 3
Если вы переопределяете родительский метод, если вы не включите javadoc, большинство IDE покажут javadoc для родительского метода. В противном случае нет способа определить/ссылаться на переменные в синтаксисе javadoc.