为什么没有空指针异常?

时间:2017-04-25 09:15:21

标签: java nullpointerexception

在java的文档代码中" out" 是PrintStream类的一个对象,它在包lang的System类中初始化。这个对象" out" 被初始化为null。所以为什么代码会在每次行抛出空指针异常

的System.out.println(...);使用

2 个答案:

答案 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文档:此流已经打开,可以接受输出数据。