java - 为什么 Java API 没有记录 AbstractStringBuilder 类

标签 java

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

OpenJDK - 公共(public)最终类 StringBuffer 扩展 AbstractStringBuilder 实现 java.io.Serialized、CharSequence

最佳答案

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

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

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

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

关于java - 为什么 Java API 没有记录 AbstractStringBuilder 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55870415/

相关文章:

java - Java中如何查找哪个用户正在使用某个端口

java - 多对多检查一个列表是否包含另一个列表的元素

java - 我们是否应该避免显式使用 wait/notify/notifyAll

java - 在 Java 中使用 MANIFEST.MF 文件

java - FTPSClient 返回 MalformedServerReplyException : cannot parse response code

java - 用于多线程应用程序的 HTTP 客户端

java - 在不使用 contains 或 indexOf 方法的情况下检查给定字符串是否包含子字符串

java - Hibernate 使用悲观锁还是乐观锁?

Java servlet、JSP - 更改 DIV 的内容

java - 使用 Java 的外键引用