为什么Java API没有记录AbstractStringBuilder类

时间:2019-04-26 15:09:21

标签: java

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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