inputStream是一个抽象类,但是它为什么会是一个抽象类呢?
还请各位多多指点指点!

解决方案 »

  1.   

    首先它这样声明 public abstract class java.io.InputStream implements java.io.Closeable
    abstract 就是用来声明抽像类的
    其次
     public abstract int read() throws java.io.IOException;有很多这种声明的方法,没有方法体(未实现)
    在次
    有很多方法已经实现因为 他有已经 实现的方法,也有未实现的方法,如果方全部未实现,可以做成接口,
    接口中不能有已经实现的方法,
    所以 它只能是一个抽像类
      

  2.   

    因为在java中,不只有一个InputStream类,InputStream被分的特别细,有AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, InputStream, ObjectInputStream, PipedInputStream, SequenceInputStream, StringBufferInputStream。在使用的过程中我们通常很少直接用InputStream,都是将InputStream类或其子类对象和Reader等多个类组合起来使用的。因此作为所有InputStream子类型的父类型,把它设置成了抽象类。