java – 为什么FilterInputStream和FilterOutputStream在它们的构造函数中有不同的访问修饰符?

前端之家收集整理的这篇文章主要介绍了java – 为什么FilterInputStream和FilterOutputStream在它们的构造函数中有不同的访问修饰符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我刚刚发现FilterInputStream(InputStream)具有与FilterOutputStream(OutputStream)(公共)不同的访问修饰符(受保护)

这有什么技术原因吗?

最佳答案
这是一个好地方.设计人员在定义Java API时犯了一些错误,这种不一致似乎就是其中之一.您没有理由直接实例化FilterOutputStream,因此应首选定义具有受保护可见性的构造函数.

你可能会问的另一个问题是为什么这些类不是抽象的.这种方式没有技术上的原因,只是它的设计方式.

猜你在找的Java相关文章