Tag:

System.out声明为static final并用null初始化?

当我通过System.class我发现了一些对我来说很奇怪的东西。 当您查看System.in, System.out, System.err的声明时System.in, System.out, System.err这些声明为final static但也使用null初始化 public final static InputStream in = null; public final static PrintStream out = null; public final static PrintStream err = null; 由于final只能初始化一次然后如何管理? 当我们使用System.out.print(“…”); 很明显, out不是null而是final static如何不为null ? 那么任何人都可以解释如何初始化已经宣布为最终的?