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

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

这有什么技术原因吗?

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

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

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...