Переопределенные методы в JavaDoc
Я документирую программу Java, которую я разработал, и хотел узнать, будет ли генерироваться JavaDoc для унаследованного метода (который переопределяется), если я просто документирую суперкласс?
Если у меня есть класс с именем Vehicle
с методом drive()
, а подкласс класса Car
с переопределенным методом drive()
, будет ли документация для метода управления транспортными средствами включена в автомобили метод привода, если Javadoc не помещается в класс Car?
Ответы
Ответ 1
[I] хотел знать, будет ли JavaDoc сгенерирован для унаследованного метода (который переопределяется), если я просто документирую суперкласс?
Да. Если у вас нет комментариев javadoc для подкласса, javadocs будут созданы на основе суперклассов javadoc.
Если вы определяете javadocs в подклассе, они заменяют унаследованные javadocs, но вы можете использовать {@inheritDoc}
для включения соответствующих комментариев javadoc суперкласса в подклассу javadocs.
Ссылка:
Ответ 2
Если вы хотите использовать JavaDoc переопределенного метода, используйте {@inheritDoc}
. F. e.
/**
* {@inheritDoc}
*/
@Override
public double getX() { ... }
Обратите внимание, что почти каждый метод overriden также наследует верхние документы:). Вы можете прочитать об этом в документах оракула (спасибо за подсказку @Steve Kuo).
Инструмент Javadoc имеет возможность копировать или "наследовать" комментарии метода в классах и интерфейсах при следующих двух обстоятельствах. Конструкторы, поля и вложенные классы не наследуют doc-комментарии... (1) Автоматически наследовать комментарий для заполнения отсутствующего текста... (2) Явно наследовать комментарий с тегом {@inheritDoc}
Используйте @see
, если вы хотите ссылаться на аналогичный/важный/... метод. Пример класса java.awt.Point
:
/**
* Returns the location of this point.
* This method is included for completeness, to parallel the
* <code>getLocation</code> method of <code>Component</code>.
* @return a copy of this point, at the same location
* @see java.awt.Component#getLocation
* @see java.awt.Point#setLocation(java.awt.Point)
* @see java.awt.Point#setLocation(int, int)
* @since 1.1
*/
public Point getLocation() { ... }