Java如何将输出重置为控制台

有人可以向我解释为什么只使用System.setOut(System.out);

无法将输出重置回System.out?

如果我使用:

ByteArrayOutputStream output = new ByteArrayOutputStream();
PrintStream originalOutput = System.out;
System.setOut(new PrintStream(output));
////
System.setOut(originalOut);

它的工作原理。 但是如果我只是用

System.setOut(System.out);

然后没有。

谢谢