gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:39:52 25 4
gpt4 key购买 nike

在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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com