抽象类, 为其他的Stream类提供接口, 在其子类中(如DataInputStream等)实现相关的功能.
  java.io.InputStream
      java.io.FilterInputStream
          java.io.DataInputStream
这是一般的继承结构.

解决方案 »

  1.   

    InputStream有许多子类需要处理不同的情况, 
    BufferedInputStream, CheckedInputStream, CipherInputStream, DataInputStream, DigestInputStream, InflaterInputStream, LineNumberInputStream, ProgressMonitorInputStream, PushbackInputStream 
    这些子类当然需要扩展InputStream的功能, 实现一些自己的方法, 而这些扩展的方法有很多是共同的接口, 不同的实现, 因此引入了filterInputStream作为中间的一个类, 来提供这些共同的接口, 而各种类只需继承filterInputStream再各自实现就行了.这是Decorator设计模式的典型应用, 利用层叠的数个对象为单个对象动态的透明的添加职责.