今天在学Java编写的一段代码中,突然对System.in有了好奇心,问题详细如下
通过查看System类源码后发现,System.in就是一个InputStream类型且值为null的对象,源代码如下:
下面是我编写的一些代码,运行正常:
我就疑惑这里的System.in就是一个简简单单的空的InputStream类型的对象,那他有什么作用呢??那么接下来我模仿着System自己也来创建一个这个类型的空值对象,并把System.in换成我自定义的变量demo,代码如下:
接下来运行程序:
问题来了:System.in 与Test.demo 同样都是一样的简简单单的空值对象,为什么我的运行就出错呢??System.in还是有什么特殊之处??