系统out,in和err流声明为null

时间:2015-05-05 19:07:00

标签: java system.out system.in system.err

我查看了java.lang.System源代码,发现了以下几行:

public final static InputStream in = null;
public final static PrintStream out = null;
public final static PrintStream err = null;

我知道最终的引用不能被重新分配,因此方法调用诸如" System.out.println"应该导致NullPointerException。另一方面,我看到System.setOut是用C(嗯,setOut0)实现的,并且想知道这里发生了什么魔法,以及如何将值重新分配给最终引用。

0 个答案:

没有答案