Static修飾一個變量:
表示這個變量是類范圍內的屬性,叫類變量;所有類對象共享一個這樣的屬性。也即是說創建一個對象的時候不會創建用static修飾的變量。
語法如下
訪問控制符 + static + 變量類型 +變量名;
使用方法
類名.類變量名;
使用案例:
對象計數器
public static int objCounter =0;
puplic CounterObject()
{
objCounter++;
}
修飾一個方法
用static修飾的方法叫類方法,也是類范圍內的方法,可以在沒有創建對象的時候就調用。語法如下
方法的訪問控制符 + static + 返回值類型 +方法名 +(參數列表)
使用方式:
類名.方法名;
注意事項:
靜態方法裡面只能使用方法內的局部變量,方法的參數,靜態變量,靜態方法;也就是說不能訪問或調用非靜態變量和非靜態方法。同樣不能用this指向對象的關鍵字,用super指向父類的關鍵字來訪問非靜態方法和變量。
但是在成員方法裡面是可以調用靜態方法的。
非靜態方法:通過指向對象的引用調用的方法,所以非靜態方法可以操作調用它的對象內的實例變量(成員變量)。
靜態方法:通過類名調用的,所以無法操作類的對象的實例變量,所以只能訪問靜態變量和靜態方法。靜態方法的數據不需要從對象中獲取。
在JAVA中調用一個方法,其實就是調用方法裡面的代碼幫我處理數據。