Java如何为最终对象System.out赋值?

时间:2017-07-27 07:48:00

标签: java final

考虑以下Java代码,

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"));
    }

}

导致编译错误。

Test.java:9: error: cannot assign a value to final variable out
        Test.out = new PrintStream(new File("/tmp/temp.txt"));
            ^
1 error

内置的java.lang.System类也有类似的声明,如下所示:

public final static PrintStream out = null;

有人可以告诉我这个System.out是如何初始化的吗?

0 个答案:

没有答案