System.outとして宣言されpublic static final PrintStream outます。
ただし、呼び出しSystem.setOut()て再割り当てすることはできます。
え?もしそうなら、これはどのように可能finalですか?
(同じポイントに適用されるSystem.inとSystem.err)
さらに重要なことに、パブリック静的最終フィールドを変更できる場合、それfinalが提供する保証(ある場合)に関して、これはどういう意味ですか?(System.in/out/errがfinal変数として動作することを認識も期待もしていませんでした)