public final static InputStream in = null;
public final static PrintStream out = null;
public final static PrintStream err = null;
But as we very w
This is done in order to prevent "hacking". These fields can be changed only by appropriate setters that call native methods
private static native void setIn0(InputStream in);
private static native void setOut0(PrintStream out);
private static native void setErr0(PrintStream err);
Native methods can do everything including changing final fields.