【问题标题】:why is AbstractStringBuilder class undocumented by Java API为什么Java API没有记录AbstractStringBuilder类
【发布时间】:2019-09-16 03:12:04
【问题描述】:

在Java API中,它声明公共的StringBuilder类扩展了Object,但实际上OpenJDK声明它扩展了一个包私有的AbstractStringBuilder类。问题:为什么 Java API 不能声明它扩展了 AbstractStringBuilder?

OpenJDK - 公共最终类 StringBuffer 扩展 AbstractStringBuilder 实现 java.io.Serializable、CharSequence

【问题讨论】:

  • AbstractStringBuilder 不是 public 类,所以它只是一个实现细节。

标签: java


【解决方案1】:

这是javadoc 命令中使用的配置设置。您可以指定要包含在生成的 javadoc 中的类。默认设置为-protected,其中将包括publicprotected 类,但不包括包中的类或private 类。假设您具有以下类层次结构:

public class TopParentName {}
(package) class MiddleName extends TopParentName {}
public class LeafName extends MiddleName {}

当您运行没有-package 标志的javadoc 命令时,您将只看到TopParentNameLeafName 类,并且您将看到LeafName 将从TopParentName 扩展,即使在源代码中编码它没有。但是当您使用-package 标志时,您将看到所有三个类都具有正确的继承链。

话虽如此,官方 javadocs 很可能不是使用 -package-private 标志生成的,因此 AbstractStringBuilder 类在生成的 javadocs 中不可见。

【讨论】:

  • @VirtualInquirer:如果有帮助,请accept这个答案。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 2013-06-10
  • 1970-01-01
相关资源
最近更新 更多