靜態變數 有時候當我們希望某個數據在記憶體之中只有一份,而且能被一個類的所有實例對象所共用的時候。我們可以用static來修飾成員變數,該變數叫靜態變數。 例 static String schoolName; 靜態變數不會被回收 該變數可以用 類名.變數名調用,也可以通過實例對象調用 static ...
靜態變數
有時候當我們希望某個數據在記憶體之中只有一份,而且能被一個類的所有實例對象所共用的時候。我們可以用static來修飾成員變數,該變數叫靜態變數。
例 static String schoolName;
靜態變數不會被回收
該變數可以用 類名.變數名調用,也可以通過實例對象調用
static 關鍵字只能修飾成員變數不能修飾局部變數
靜態方法
當我們希望方法不必和對象綁定到一起的時候,我們可以用static來修飾其方法。稱其為靜態方法。
可以通過 類名.方法名(),也可以通過實例化對象進行調用。
註意:靜態方法之中只能訪問 static修飾的成員。原因為 非靜態成員需要實例化對象才能訪問,而靜態方法被調用可以不用創建對象。
靜態代碼塊
當類被載入時,靜態代碼塊會執行,因類之背載入一次,靜態代碼塊也只執行一次。可用於對成員變數的初始化,
載入類 並且執行靜態代碼塊, 隨後調用main方法
靜態內部類
class Outer{
private static int num=6;
static class Inner{
void show(){
System.out.println("num="+num);
}
}
}
創建靜態內部類對象 Outer.Inner inner= new Outer.Inner();
靜態內部類中只能訪問外部類中靜態成員
靜態內部類中可以定義靜態成員,非靜態內部類不允許定義靜態成員。