出於好奇,我一直在尋找在docjar.com找到的一些Java API類的源代碼。我看到了java.lang.System中的類,只見那PrintStream的 「出」(即下,System.out)有下列代碼:爲什麼PrintStream「out」和InputStream「in」null?
public final static PrintStream out = null;
和評論,它說:
The "standard" output stream. This stream is already
open and ready to accept output data.
我的問題是,我知道最終變量不能被修改,所以爲什麼它宣佈時爲空?爲什麼在調用「out」方法時Java不拋出NullPointerException? System.in也是如此。
感謝您的任何澄清。