2014-11-24 50 views
0

首先,我很遺憾,因爲我提出了一個非常基本和奇怪的問題;但是我對Java和編程都很陌生。我研究了system.out.println()中的「out」是系統類的一個對象。可以將「out」替換爲系統類的任何其他對象嗎?如果是這樣的成員和如何?我們可以在System.out.println()中替換「out」嗎?

+0

https://docs.oracle.com/javase/7/docs/api/java/lang/System.html – 2014-11-24 11:27:52

回答

0

System.setOut(out)做到了這一點。可以是PrintStream的任何實例。

例如:

System.setOut(System.err);將設置默認輸出流是相同的作爲默認的錯誤流。

+0

「可以 「走出去」 與其他任何替換系統類的對象?「,而不是」我可以用我自己的對象替換嗎?「 – hexafraction 2014-11-24 11:28:20

-1

是,例如ERR

但我會下載任何的Java IDE(IntelliJ IDEA的或Ecliplse)的,創建一個新的Java項目,新的階級,新的主要方法,類型System.out和按Ctrl +空格,看看會發生什麼

+0

你爲什麼要專門聲明使用IDE(其中有時文件有時挑剔以提高和鍵盤映射不同)?標準的javadoc不夠嗎? – hexafraction 2014-11-24 11:30:31

+0

你可以玩IDE。他是一個新手。 – user831217 2014-11-24 14:20:29

1

這裏有2個非常有用的鏈接(希望這有助於)

  1. Javapapers: system.out.print
  2. http://docs.oracle.com/javase/7/docs/api/java/lang/System.html

這裏是低於它的簡短描述:

Structure of System.out.println 

以下是JDK源代碼中的System.out.println的骨架結構。通過這個代碼片段,重要部分被突出顯示,並給出更好的理解。

public final class System { 
static PrintStream out; 
static PrintStream err; 
static InputStream in; 
... 
} 
public class PrintStream extends FilterOutputStream { 
//out object is inherited from FilterOutputStream class 
    public void println() { 
... 
} 

變化出的System.out.println

對象的

‘out’可以定製。 out在啓動時被java運行時環境初始化,並且它可以在開發過程中由開發人員更改。 而不是標準輸出,在默認情況下,當您通過命令行運行程序時,輸出將在相同的命令窗口中打印。我們可以使用setOut方法更改該行爲,如下所示。

在下面的例子

public class ChangeOut { 
    public static void main(String args[]) { 
    try { 
     System.setOut(new PrintStream(new FileOutputStream("log.txt"))); 
     System.out.println("Now the output is redirected!"); 
    } catch(Exception e) {} 
    } 
    } 
相關問題