首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javadoc:“从”继承的方法“和”声明在

Javadoc:“从”继承的方法“和”声明在
EN

Stack Overflow用户
提问于 2019-05-01 15:15:28
回答 1查看 70关注 0票数 1

用于Java < 10的JDK Java文档有一个名为“继承自的方法”的部分,其中列出了在父类/接口中声明的方法。但是,从Java 10开始,本节称为“方法声明”。

供比较:

它们之间是否有区别,还是这仅仅是部分名称的更改?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 15:15:28

在Java10中,将选项--override-methods (detail|summary)添加到javadoc命令中:

目的是在实现或重写方法时减少噪音,但文档保持不变。

模式

detail模式(默认)

当您使用javadoc而不指定override-methods时,override-methods模式是默认的。

它的行为方式与以前生成文档的方式相同:

  • 如果方法未被重写,则它将位于“从”部分继承的方法中。
  • 如果一个方法被覆盖,它将被记录在“方法细节”下,而不管它的签名或文档是否也被更改。

summary模式

  • 如果一个方法被重写了,它的文档被更改了,它将被记录在“方法细节”下面。
  • 否则,它将被列在“方法声明”下。

summary模式现在用于生成JDK文档(JDK-8189706)。

请注意,此模式目前已被窃听,因为它忽略了对方法签名的一些更改,这些更改应该记录在案,请参见JDK-8223607

结论

您将看到“继承自”的“方法”或“在”部分中声明的方法。

当比较同一类的两个文档(一个与“继承的”,另一个与“声明的”)时,“继承自”的文档可能会在“方法详细信息”下列出更多的方法,而对于“在”中声明的方法,一些方法将被替换为“在”部分中声明。

所以是的,他们之间是有区别的。

示例

例如,在java.time.temporal.ChronoUnit类中,可以看到行为上的差异:

  • Java 8:列在“方法细节”下面
  • Java 12:包含在“类java.lang.Enum中声明的方法”中;还请参阅来源以验证该方法是否确实被重写。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55938491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档