java - 为什么 java.io.Bits 不公开?

标签 java private public class-visibility

<分区>

我在 Java 中用 IO 做了很多工作,在寻找将原语转换为字节数组的代码并返回后,我在其中一个 Java 源代码托管上找到了 java.io.Bits 的源代码网站。快速浏览后,我意识到这正是我所需要的,除了它是包私有(private)的。所以我制作了一份公开的副本,存储在我的项目包中并使用(我向你保证,仅在个人项目中使用)。我发现它非常有用。

我的问题是,为什么这个包是私有(private)的?我可以看到它对使用 IO 的人非常有用,而且我认为改变它对公众的可见性(在 rt.jar 中)没有任何缺点。或者是否有类似的东西(请不要提及其他图书馆)?

这是一个随机选择的网站的链接,该网站具有 java.io.Bits 的 Java 源代码:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/io/Bits.java

最佳答案

您肯定需要询问其中一位 Java 开发人员,但通过将其打包为私有(private),API 可以被视为“内部”——即它可能随时更改或消失。这意味着 API 可以相对快速地开发,并且不需要经过公共(public) API 需要经过的相同的相对彻底的测试过程(因为一旦它们被发布,它们就永远停留在那里。)

简而言之,将 API 公开具有长期影响,而且它需要的工作比仅仅按下一个开关要多得多。

我敢猜测它最初是作为一组对 IO 包中的其他几个类有用的函数“组合在一起”而存在的,并且从那时起就一直存在。

关于java - 为什么 java.io.Bits 不公开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813971/

相关文章:

java - 在 java 中创建我们自己的异常类

带参数的 Java Reflection 私有(private)方法最好的方法?

java - 为什么可以从不同的实例访问 "private"方法?

c# - 拥有带有私有(private)访问器的公共(public)领域是否有意义?

java - 尝试使用 Java 连接 https 服务器时抛出 SSLHandshakeException

java - Jackson:自定义解析 ObjectId(来自@JsonIdentityInfo)

C++:另一个类中的类作为类型?

java - 使用枚举选择内部实现

angular - 更改同级组件的组件的公共(public)变量

Java创建类时出现 '}'错误