在java的文档代码中" out" 是PrintStream类的一个对象,它在包lang的System类中初始化。这个对象" out" 被初始化为null。所以为什么代码会在每次行抛出空指针异常
的System.out.println(...);使用
答案 0 :(得分:3)
这是现场声明。
查看initializeSystemClass()
静态方法:
setOut0(newPrintStream(fdOut, props.getProperty("sun.stdout.encoding")))
虚拟机一次初始化out
。
该方法评论如下:
/**
* Initialize the system class. Called after thread initialization.
*/
答案 1 :(得分:-1)
.out
变量是System
的静态变量。它是默认的outputStream,而不是null。
Java文档:此流已经打开,可以接受输出数据。