Java子类是否可继承父类的类级Javadoc?附代码示例
Java子类能否继承父类的类级Javadoc?
不行,Java标准的Javadoc工具不支持子类直接继承父类的类级Javadoc,你示例里用的{@inheritDoc}标签,默认只对方法、构造器、字段的注释生效,放在类的Javadoc里不会产生继承父类类注释的效果。
为什么示例里的写法无效?
看你给出的代码:
/** * Parent javadoc */ class Superclass {} /** * {@inheritDoc} * Child javadoc */ class Subclass extends Superclass {}
这里子类Subclass的类注释里的{@inheritDoc}不会把父类Superclass的Parent javadoc内容继承过来,生成的Javadoc里只会显示Child javadoc,{@inheritDoc}会被直接忽略。
实现类似效果的替代方案
- 手动引用或复制父类注释:如果需要复用父类的类级注释内容,可以手动复制,或者用
{@link}标签关联父类,比如:/** * 继承自{@link Superclass}的特性,补充子类自身说明: * Child javadoc */ class Subclass extends Superclass {} - 自定义Doclet扩展:如果需要批量实现类级注释的继承,可以编写自定义的Javadoc Doclet工具,通过解析父类注释并合并到子类注释中,但这属于非标准的扩展方案。
内容的提问来源于stack exchange,提问作者Jonathan S.
相关产品推荐
相关产品推荐

