Setter methods for final fields
<p>Using reflection and also from the src.zip available in the installed JDK by the installer  purveyed by <a href="http://docs.oracle.com">http://docs.oracle.com</a>, I found the following fields of <code>java.lang.System</code>, </p>

<p><strong>in</strong>,  <strong>out</strong> &amp; <strong>err</strong> are declared as final, but they have respective (public) setter methods which in turn invoke their respective native couter-part.</p>

<p>For example, I could successfully re-direct console output to a file.</p>

<p>We can set final variables exactly once we have initialized it in the Java code.</p>

<p>My question is : is this rule of final not applicable to the native code? </p>
