成員變數和靜態變數的區別

2022-07-17 04:45:12 字數 510 閱讀 8559

成員變數和靜態變數的區別:

1,成員變數所屬於物件。所以也稱為例項變數。

靜態變數所屬於類。所以也稱為類變數。

2,成員變數存在於堆記憶體中。

靜態變數存在於方法區中。

3,成員變數隨著物件建立而存在。隨著物件被**而消失。

靜態變數隨著類的載入而存在。隨著類的消失而消失。

4,成員變數只能被物件所呼叫 。

靜態變數可以被物件呼叫,也可以被類名呼叫。

所以,成員變數可以稱為物件的特有資料,靜態變數稱為物件的共享資料。

靜態的注意:靜態的生命週期很長。

靜態**塊:就是乙個有靜態關鍵字標示的乙個**塊區域。定義在類中。

作用:可以完成類的初始化。靜態**塊隨著類的載入而執行,而且只執行一次(new 多個物件就只執行一次)。如果和主函式在同一類中,優先於主函式執行。

成員變數和靜態變數的區別

成員變數和靜態變數的生命週期 成員變數隨著物件的建立而存在,物件 就被釋放。靜態變數隨著類的載入而存在,類消失靜態變數就消失。呼叫方式不同 成員變數只能被物件呼叫 靜態變數可以被物件呼叫,還可以被類名呼叫。別名不同 成員變數也稱為例項變數。靜態變數也成為類變數。資料儲存位置不同 成員變數儲存在堆記憶...

靜態變數和靜態成員函式

c 中的靜態成員變數和靜態成員函式。1 類靜態資料成員在編譯時建立並初始化 在該類的任何物件建立之前就存在,不屬於任何物件,而非靜態類成員變數則是屬於物件所有的。類靜態資料成員只有乙個拷貝,為所有此類的物件所共享。特別需要注意的一點是 靜態資料成員不能在類中初始化 對於常量靜態類變數有待考證,好像可...

全域性變數和靜態變數區別

儲存的地方是一樣的,不同之處在於它們的作用域不同 全域性變數基本上在程式的任何地方都能被看到 而靜態區域性變數只能在其指定的範圍內被使用 比如 int i 全域性變數 class c void main 全域性變數具有外部連線性,即同一工程中其它檔案中的也可引用。而靜態變數不具有外部連線性,即同一工...