Java中IO流问题--System.in
System.in 是返回一个InputSteam,这个InputStream中有个read()方法,可以读字节。
但我查了API和源码,read()是一个抽象方法啊,为什么还是能用呢?是什么去实现了?
那段源码也是完全没看懂,怎么是返回一个nullInputStream()的返回值是Null啊。
public abstract class DemoAClass {
int i;
public abstract void read();
}
public class DemoClassI {
DemoAClass a;
public DemoClassI()
{
this.a = new DemoAClass()
{
public void read()
{
i=100000;
}
};
}
}
public int read() throws IOException {
return in.read();
}
public synchronized int read() throws IOException {
if (pos >= count) {
fill();
if (pos >= count)
return -1;
}
return getBufIfOpen()[pos++] & 0xff;
}