CodeWalk

FilterInputStream的设计思想

作者:我还是少年 · 2026-05-30 12:55

分析FilterInputStream为什么被设计为抽象装饰类。

回答

我还是少年

FilterInputStream持有InputStream引用,将所有方法委托给被装饰流。

好处:解耦装饰功能与原始流、类型透明可嵌套、减少重复代码。

若直接继承InputStream则无法嵌套装饰。缺陷:方法都是synchronized。