Ответ 1
Здесь будет уместен тег @link или @see. Если вы завершаете метод, он должен обеспечивать отличительное поведение, которое делает его непригодным для перегрузки или иным образом.
Я знаю, что существует @inheritDoc
, но это только для методов, которые переопределяют другие.
У меня есть несколько классов со многими делегатами методами (которые не переопределяют другие).
Может ли их Javadoc быть "унаследован" (точнее: скопирован)?
/** here I need the copy of wrappedMethod Javadoc */
public void delegateMethod(Object param){
innerSomething.wrappedMethod(param);
}
Здесь будет уместен тег @link или @see. Если вы завершаете метод, он должен обеспечивать отличительное поведение, которое делает его непригодным для перегрузки или иным образом.
Иногда это действительно хорошая вещь, чтобы вырезать и вставлять документацию. "Связывание" документации в некотором роде, особенно когда нет отношения наследования, возникает риск того, что один из методов будет иметь поведение, каким-то образом изменилось, что привело к тому, что связанная документация перестала быть действительной.
Однако в случае с делегатами у меня была такая же проблема несколько раз. Обычно у вас есть общедоступный метод для делегирования основного класса делегату package-private, который имеет точно такое же поведение, как и основной метод. Здесь решение прост - документируйте основной класс и поместите @link или @see в класс делегата. Каждый может видеть документацию основного класса. Вероятно, вам также потребуется иметь более подробную документацию, такую как сведения о реализации, в классе делегатов.