1. 程式人生 > >通過System.out.println() 理解static關鍵字

通過System.out.println() 理解static關鍵字

每學習一門語言的都是都是列印輸出一句Hello World,當然Java也不例外。

public static void main(String[] args) {
    System.out.println("Hello World!");
}

進入正題吧!怎麼理解static關鍵字。

static:如果一個成員被宣告為static,它就能夠在它的類的任何物件建立之前被訪問,而不必引用任何物件。(擷取百度百科的一句話)

在學習過程中,想要使用一個類中的方法或屬性,一般都需要通過new關鍵字來例項化這個類。那不一般的情況就是使用static關鍵字定義這個類中的方法或屬性。
例如在JDK原始碼中的System類中有個靜態常量out,如下圖:
System類原始碼

public final static PrintStream out = null;

這也就是說我們為什麼可以寫成:

System.out

因為,out被static修飾,呼叫時無需通過new關鍵字建立物件,而可以直接使用類名呼叫。
那後面println等等的方法是怎麼回事呢?
那是因為out常量的型別是PrintStream型別,out是PrintStream的一個物件,自然可以呼叫其自身的方法。
相當於

System.out.print();         System.out.print();
       ||                          ||
東海龍王任務.降水.下雨(); 東海龍王任務.降水.下雪();

如有錯誤,請指正。