为什么FilterInputStream和FilterOutputStream在其构造函数中具有不同的访问修饰符?

镇权

我刚刚发现FilterInputStream中(InputStream的)具有不同的访问修饰符(protected)到(public的)FilterOutputStream中(OutputStream中)

有什么技术原因吗?

乔尼

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在Kotlin中没有val / var修饰符的主构造函数中需要一个参数?

继承中构造函数的默认访问修饰符

Java中默认构造函数的访问修饰符是什么?

在Kotlin的构造函数中向参数添加私有修饰符有什么区别?

为什么python没有常量的访问修饰符?

当具有访问修饰符的类为public且具有不同文件名和类名的java文件时,会发生什么情况

php中的访问修饰符有什么区别?

为什么Java API中的许多方法都具有“抽象”修饰符?

有访问修饰符的方法和没有访问修饰符的方法有什么区别?

在Swift中,内部和公共访问修饰符有什么区别?

D-构造函数上的访问修饰符实际上是做什么的?

抽象类构造函数访问修饰符

Java构造函数的默认访问修饰符

访问说明符和访问修饰符有什么区别?

有什么用比类访问修饰符限制较少的成员访问修饰符的?

在C#中,公共,私有,受保护和没有访问修饰符之间有什么区别?

为什么python没有访问修饰符?python有什么替代方法?

为什么将Java中的所有中间点击都报告为具有Alt修饰符?

当类具有默认访问修饰符时,使用公共方法有什么用?

当List <>在C#7.2中具有“ in”参数修饰符时,为什么仍可以修改它?

uri parse具有私有访问修饰符

为什么XAML有时会标有内部访问修饰符?

为什么类需要访问修饰符?

为什么成员访问修饰符对nameof()很重要?

Java是否具有“专用保护”访问修饰符?

Ruby实例变量是否具有访问修饰符?

Swift是否具有访问修饰符?

具有最终访问修饰符的char和byte-Java

为什么类或接口不能接收私有或受保护的访问修饰符?