Consider the below Java code,
import java.io.File;
import java.io.PrintStream;
public class Test {
public final static PrintStream out = null;
public static void main(String[] args) throws Exception {
Test.out = new PrintStream(new File("/tmp/temp.txt"));
}
}
It leads to below compilation error.
Test.java:9: error: cannot assign a value to final variable out
Test.out = new PrintStream(new File("/tmp/temp.txt"));
^
1 error
The in-built java.lang.System
class also has a similar declaration as shown below:
public final static PrintStream out = null;
Could somebody let me know how does this System.out
get initialized?