关于流和多态的一些记录
流的读取问题
read()方法
read()方法经常用于读取一个byte数组或者char数组,其内部的方法如下:
1 | public final int read(byte b[]) throws IOException { |
首先在读取字节流的时候是所有的字节流的顶级类的是InputStream抽象类,而继承自Inputstream的类都是带有read方法,每一个类几乎丢重写了自己的read方法,而这就是多态的一种体现。
关于socket.getInputStream()方法获取的InputStream
这个获取的输入流是SocketInputStream
,在这个类里面有一个变量就是private boolean eof;
这个变量在read方法中可以用于判断文件是否已经到尾了
1 | int read(byte b[], int off, int length, int timeout) throws IOException { |
多态:
其实在java的字节流处理类中就很好的利用了多态,以前只是了解但是实际使用的不多。而且最重要的是父类的静态变量子类是可以直接继承过来的