Per curiosità stavo guardando attraverso il codice sorgente per alcune delle classi API Java trovate a docjar.com. Ho visto la classe java.lang.System e vide che la PrintStream "out" (cioè, System.out) ha avuto il seguente codice:Perché PrintStream "out" e InputStream "in" null?
public final static PrintStream out = null;
e nei commenti si dice:
The "standard" output stream. This stream is already
open and ready to accept output data.
La mia ricerca è, so che le variabili finali non possono essere modificate, quindi perché è nulla quando viene dichiarato? Perché Java non lancia una NullPointerException quando viene chiamato un metodo per "out"? Lo stesso vale per System.in.
Grazie per qualsiasi chiarimento.