以下は、java.lang.System クラス (JDK バージョン 1.6) のコードです。
public final static PrintStream out = nullPrintStream(); //out is set to 'null'
private static PrintStream nullPrintStream() throws NullPointerException {
if (currentTimeMillis() > 0) {
return null;
}
throw new NullPointerException();
}
コードを記述System.out.println("Something");
すると、「out」が「null」に設定されている場合でも NullPointerException が発生しないのはなぜですか
とにかく、システムクラスのout
次のメソッドを介して設定されますsetOut
public static void setOut(PrintStream out) {
checkIO();
setOut0(out);
}
なぜJLSがnullPrintStream
メソッドを必要とするのですか?