System.out.println()的真實含義


每一個人的Java學習之路上恐怕都是用以下代碼開始的吧?


    
    
   
   
           
  1. public class Test {
  2. public static void main(String[] args) {
  3. System.out.println( "Hello Java");
  4. }
  5. }
 
         

     一開始的時候我們會問很多為什么?為什么Java中的主方法和輸出語句要這么麻煩,代碼這么多,而且有的地方還要首字母大寫。這些東西一開始老師都是讓我們去背下來,說是基本上每一個Java程序都是這個樣子寫的。為什么老師這樣子說?就是因為一開始學的東西有限,牽扯到面向對象的很多知識,講了你也聽不懂。再加上一開始學習是從一些基本語句開始的,所以說記住這些,能寫出來給練習基本語句創造好條件就可以了.

         至於主方法為什么這樣子寫,學了面向對象的一些修飾符之后就會明白。但是基本的在控制台的輸出語句為什么是這種形式?今天來給大家淺談一下:

           其中SystemJava.lang包中的一個類,(至於為什么用的時候不需要導包就是因為Java.lang包是自動導入的,不需要用import手動導入)而Out是System中的一個字段,也就是System的一個成員變量。並且是用static修飾的,所以可以用System這個類名直接去調用,這便是System.out的由來。而println( )並不是System類中的一個方法,而是PrintStream中的一個方法

可以根據以上System的源碼中看得出,out的修飾符是static,而其類型數引用數據類型中的PrintStream,所以out可以使用PrintlnStream中的println( )方法那么接下來在去從PrintStream中找到println( )或者print( )方法的源碼,

可以看得出,println( )和print( )這兩個方法都是PrintStream類中的方法,至於為什么println( )和print( )這兩個方法什么數據類型都可以輸出,是因為在PrintStream類中重載了 Println( )方法,包含了相關的數據類型。(具體內容看源碼,不再截圖)


總結:System類中靜態的,且為PrintStream類型的字段out去調用了PrintStream類中的print( )和println( )兩個方法也就有了System.out.println( )形式的輸出語句














免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM