靜態變數與靜態方法

2021-07-26 23:23:04 字數 1367 閱讀 9146

static:可實現所有的物件共享乙個成員變數。被 static 修飾的成員稱為靜態成員或類成員。它屬於整個類所有,而不是某個物件所有,即被類的所有物件所共享。

訪問static成員變數有兩種方式:

直接用類名.成員變數名訪問;

定義類的物件,使用物件.成員變數名訪問。

public

class name

}

執行結果如下:使用static修飾的方法稱為靜態方法或類方法,main()方法就是典型的靜態方法。

1、 靜態方法中可以直接呼叫同類中的靜態成員,但不能直接呼叫非靜態成員。

如果希望在靜態方法中呼叫非靜態變數,可以通過建立類的物件,然後通過物件來訪問非靜態變數。
如下程式第7行,靜態方法main()中訪問非靜態成員age,編譯報錯。

public

class name

}

上述程式第11行通過物件來訪問非靜態成員。
2、 在普通成員方法中,則可以直接訪問同類的非靜態變數和靜態變數。

如下程式,在showinfo()中,直接訪問非靜態變數age和靜態變數name。

public

class name

public

static

void

main(string args)

}

程式執行結果如下:3、 靜態方法中不能直接呼叫非靜態方法,需要通過物件來訪問非靜態方法。

如上程式在靜態方法main()中訪問非靜態方法showinfo(),通過物件na來訪問。

靜態初始化塊

初始化塊完成對資料的賦值功能。在類的宣告中,可以包含多個初始化塊,這些**塊會在當建立物件時依次執行。

如果使用 static 修飾的初始化塊稱為靜態初始化塊。

在類載入時執行,且只會執行一次;

靜態初始化塊只能給靜態成員變數賦值。

public

class name

static

public

static

void

main(string args)

}

程式執**況如下:

由上述程式執**況可以看出,靜態初始化塊最先被執行

其次執行,初始化塊

最後執行,構造方法

靜態變數與靜態方法

使用static修飾的方法稱作靜態方法,又稱類方法。同樣的,使用static修飾的變數又稱作類變數或者靜態變數。靜態方法有如下特點 1 應該通過類名直接呼叫,不用通過引用呼叫。2 方法內部 只能夠使用本方法內的區域性變數 方法的引數 靜態變數和靜態方法。不能使用非靜態的變數和非靜態的方法。同樣也不能...

靜態變數與靜態方法

被static修飾的成員變數就是靜態變數。靜態變數被該類下所有的物件所共享。物件空間中就沒有這個成員變數,存在方法區的靜態區。獲取值 物件名.屬性名 實際開發堅決不用 類名.屬性名 修改值 物件名.屬性名 新值 實際開發堅決不用 類名.屬性名 新值 示例 person類 public class p...

靜態域 靜態變數 靜態方法

static關鍵字修飾的域 class employee 這裡employee物件有乙個例項域id和乙個靜態域nextid,每乙個employee物件都有乙個例項域id,但是所有的物件共享乙個靜態域nextid。假設有1000個employee物件,則有1000個例項域id,但是,只有乙個靜態域ne...