Z ciekawości szukałem kodu źródłowego dla niektórych klas API Java, które można znaleźć pod adresem docjar.com. Widziałem klasę java.lang.System i zobaczył, że PrintStream "out" (czyli System.out) miał następujący kod:Dlaczego PrintStream "out" i InputStream "w" null?
public final static PrintStream out = null;
iw komentarzach to mówi:
The "standard" output stream. This stream is already
open and ready to accept output data.
Moje zadanie polega na tym, wiem, że zmienne końcowe nie mogą być modyfikowane, więc dlaczego jest ono puste po zadeklarowaniu? Dlaczego Java nie generuje wyjątku NullPointerException, gdy wywoływana jest metoda "out"? To samo dotyczy również systemu.
Dzięki za wyjaśnienia.