黑马程序员技术交流社区

标题: 关于javaIO流 [打印本页]

作者: ring8677    时间: 2015-3-30 21:57
标题: 关于javaIO流
InputStream in = System.in 这句话是什么意思啊?
我知道System.in 是键盘录入;InputStream in 是创建一个字节输入流对象in;
可是合起来是怎么个意思啊?



作者: 马士基    时间: 2015-4-1 18:40
System.in是一个标准输入流,一般指键盘输入,其返回的输入流类型为InputStream;InputStream in 是声明了一个InputStream类型对象的引用;InputStream类型的引用指向InputStream类型的对象,就是这样啊
作者: 花独恋水    时间: 2015-4-1 23:32
in在System类中是一个静态成员变量,定义如下:
public static final InputStream in;
在System类的静态代码块中做了初始化,源码如下:
in = new BufferedInputStream(new FileInputStream(FileDescriptor.in));
其实它就是一个InputStream 类型的对象
InputStream in = System.in这句话不过是一个引用指向一个已存在的对象,这个System.in对象才是输入流,InputStream in只是声明了一个该类型的引用,并没有创建对象的功能。
作者: ring8677    时间: 2015-5-30 15:17
花独恋水 发表于 2015-4-1 23:32
in在System类中是一个静态成员变量,定义如下:
public static final InputStream in;
在System类的静态代码 ...

多谢了。
作者: guojiadui    时间: 2015-5-30 16:07
原理:父类的引用指向了子类对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2