static表示“靜態的”或“全域的”,用來修飾變量,屬性,方法。
1、靜態屬性[靜態域]
當static修飾屬性的時候,是該類別的所有物件共享的一個屬性,只會佔有一塊記憶體空間,可以透過對象,或類別名稱直接呼叫。
public static B b= new B();
2、靜態方法
當static修飾方法時,由於是直接透過類別名稱調用,所以不能再用this與super關鍵字,不能直接存取所屬類別的實例變數和實例方法(不帶static的成員變數個成員的成員方法),static的呼叫是要呼叫父類別還是子類別只與類別名稱有關。
public static void study() { System.out.println(Student.name + "在学习"); }
靜態方法是類別內部的一類特殊方法,只有在需要時才將對應的方法宣告成靜態的,一個類別內部的方法一般都是非靜態的
static屬性和方法是不需要創建物件來呼叫的。
a.一個方法不需要存取物件狀態,其所需的參數都是透過顯示參數提供。 [不用建立物件]
b.一個方法只需要存取類別的靜態域。
透過對static屬性、static方法的了解,總結出一些成員屬性、成員方法的使用方法:
成員屬性:每個物件都單獨佔用共享的一塊記憶體空間,必須透過物件才能呼叫。
(每new一次對象,就執行一次成員屬性)
public A a = new A();
成員方法:是呼叫父類還是子類重寫的只和對象本身有關