inpustream为什么定义为抽象类?

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:18:57
能不能详细给解答下!谢谢了!我很想知道原因!
忘记说明了:InputStream是java里面的一个抽象类!

谢谢你了 就把分给你把 我已经知道了 区别了 我把他总结了下 分就给你把 谢谢

因为InputStream下面有很多子类继承于它,而流里面又有很多相同的方法,我们把这些相同的方法就定义成抽象方法,让他的子类去不同的实现,但是我们为什么不定义成接口呢,那是因为接口里面的方法全部都是抽象方法,在InputStream里面还定义了一些基本的流操作,这些是所有他的子类都有的方法,我们就把这些方法在InputStream里面自己实现了,让他的子类来继承于这些方法,所以我们使用抽象类。

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