System.out.println()的详解

System是System类

1 package java.lang;
2 public final class System {
3       public final static PrintStream out = null;
4 }

println()是PrintStream 类中的方法。

package java.io;
public class PrintStream extends FilterOutputStream
    implements Appendable, Closeable
{
  
   protected OutputStream out;

   private BufferedWriter textOut;

    private void ensureOpen() throws IOException {
       if (out == null)
        throw new IOException("Stream closed");
    }

   
public void println() { newLine();//换行 } public void println(boolean x) { synchronized (this) { print(x); newLine(); } } public void println(String x) { synchronized (this) { print(x); newLine(); } } public void print(boolean b) { write(b ? "true" : "false"); } public void print(Object obj) { write(String.valueOf(obj)); } private void write(String s) { try { synchronized (this) { ensureOpen(); textOut.write(s); textOut.flushBuffer(); charOut.flushBuffer(); if (autoFlush && (s.indexOf('\n') >= 0)) out.flush(); } } catch (InterruptedIOException x) { Thread.currentThread().interrupt(); } catch (IOException x) { trouble = true; } } private void newLine() { try { synchronized (this) { ensureOpen(); textOut.newLine(); textOut.flushBuffer(); charOut.flushBuffer(); if (autoFlush) out.flush(); } } catch (InterruptedIOException x) { Thread.currentThread().interrupt(); } catch (IOException x) { trouble = true; } } }

 

posted @ 2018-09-21 18:54  stujike123456  阅读(3123)  评论(0编辑  收藏  举报