參考:http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html
靜態方法
- 1 在Java里,可以定義一個不需要創建對象的方法,這種方法就是靜態方法。這種方法是被動執行的。靜態方法在類加載的時候就已經加載,可以用類名直接調用。也就是說我們可以定義一個不需要創建對象的方法,這就是靜態方法。
- 2 要實現靜態方法,只需要在類中定義的方法前面加上static關鍵字。
例如
public static int Total(int n1,int n2) { ... }
- 3 使用靜態方法事需要注意:
在靜態方法里只能直接調用同類中其他的靜態成員(包括變量和方法),而不能直接訪問類中的非靜態成員。這是因為對于非靜態的方法和變量,需要先創建類的實例對象后才可使用,而靜態方法在使用前不用創建任何對象。
靜態方法不能以任何方式引用this和super關鍵字,因為靜態方法在使用前不用創建任何實例對象,當靜態方法調用時,this所引用的對象根本沒有產生。
靜態代碼塊
- 1一般情況下,如果有些代碼必須在項目啟動的時候就執行的時候,這時就需要使用靜態代碼塊,這種代碼是主動執行的。一個類可以使用不包含在任何方法體中的靜態代碼塊,當類被載入時,靜態代碼塊被執行,且只被執行一次,靜態塊常用來執行類屬性的初始化。例如:
static {
}
區別
兩者的區別就是:靜態方法是被調用的時候才執行的;靜態代碼塊是自動執行的。