in在System类中是一个静态成员变量,定义如下:
public static final InputStream in;
在System类的静态代码块中做了初始化,源码如下:
in = new BufferedInputStream(new FileInputStream(FileDescriptor.in));
其实它就是一个InputStream 类型的对象
InputStream in = System.in这句话不过是一个引用指向一个已存在的对象,这个System.in对象才是输入流,InputStream in只是声明了一个该类型的引用,并没有创建对象的功能。 |