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

2021-08-17 05:38:15 字數 486 閱讀 8582

成員變數和靜態變數的生命週期:

成員變數隨著物件的建立而存在,物件**就被釋放。

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

呼叫方式不同:

成員變數只能被物件呼叫

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

別名不同:

成員變數也稱為例項變數。

靜態變數也成為類變數。

資料儲存位置不同:

成員變數儲存在堆記憶體的物件中,所以也叫物件的特有資料。

靜態變數資料儲存在方法區(共享資料區)的靜態去,所以也叫物件的共享資料,

static關鍵字是乙個修飾符,用於修飾成員變數和成員函式。

靜態方法只能訪問靜態成員,不可以訪問非靜態成員。

ing為靜態方法載入時,優先於物件存在,所以沒有辦法訪問物件中的成員。

靜態方法中不能使用this,super關鍵字。

因為this代表物件,而靜態在時,有可能沒有物件,所以this無法使用。

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

成員變數和靜態變數的區別 1,成員變數所屬於物件。所以也稱為例項變數。靜態變數所屬於類。所以也稱為類變數。2,成員變數存在於堆記憶體中。靜態變數存在於方法區中。3,成員變數隨著物件建立而存在。隨著物件被 而消失。靜態變數隨著類的載入而存在。隨著類的消失而消失。4,成員變數只能被物件所呼叫 靜態變數可...

靜態變數和靜態成員函式

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

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

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