雖然看着日食別人的Maven的Java項目中,我注意到,保存的運行配置中的一種具有以下maven的命令來運行:System.out如何將輸出直接輸出到eclipse中的控制檯?
test -Dtest=fooTest -Dcom.awesomesite=System.out
當我檢查fooTest.java文件,我發現下面的語句:
public final static String BAR = "com.awesomesite";
....
this.whereToWrite = System.getProperty(BAR);
顯然,實例變量「whereToWrite」表示輸出數據應該到達的位置。由於我是Java的初學者,我只想了解System.out直接輸出如何在控制檯上打印。
在eclipse內部的某個地方,它必須將'System.out'設置爲指向控制檯視圖。 System.out是一個可修改的靜態字段 –
@LanceJava它實際上是「final」。在jvm開始後它會被反射設置,據我記憶 – SomeJavaGuy
反射不是必需的(我不認爲你可以通過反射來設置最終場),還有一個[setOut(...)](https ://docs.oracle.com/javase/7/docs/api/java/lang/System.html#setOut%28java.io.PrintStream%29)方法。猜測最後一個字段是一個包裝,代理是可變的 –