Java成員變數的初始化和在記憶體中的執行機制

2021-07-30 10:24:43 字數 1026 閱讀 4311

一 成員變數介紹

成員變數包括:例項變數(不以static修飾)和類變數(以static修飾)。

二成員變數的初始化和執行機制

1**片段

class person

{ public string name;

public static int eyenum;

)person p1 = new person(); //a

person p2 = new person(); //b

p1.name = "張三"; //c

p2.name = "孫悟空"; //d

p1.eyenum = 2; //e

2 成員變數初始化和執行記憶體圖

3 **片段分析

(a)當執行完a處**時,首先完成圖一類物件的建立,然後完成圖二的建立第乙個person物件。

(b)當執行完b處**和c處**時,記憶體分布圖將如圖三所示。

(c)當執行完d處和e處**時,記憶體分布圖將如圖四所示。

大小: 13.9 kb

大小: 17.7 kb

大小: 22.6 kb

大小: 34.6 kb

初始化列表成員變數的初始化

對於以下程式 include using namespace std class base base b 0 a b int get a int get b int main 本想得到的結果是a,b都為90。但是實際結果卻是 4273046 90process returned 0 0x0 exec...

c 成員變數初始化

include include using namespace std classa a a intmain 類a的成員變數將進行預設初始化 c 11新特性允許為資料成員提供類內初始值 include include using namespace std classa a a intmain a....

類成員變數初始化

在 c 中,類的成員變數未初始化問題,取決於物件建立方式,不同的建立方式,直接導致類成員變數的初值不同。本文通過下例,得出一下結論 1.在函式體內置立乙個物件,類成員變數和普通的區域性變數一樣,是乙個隨機值。2.建立乙個全域性成員物件,類成員變數和全域性變數一樣,編譯器賦值為 0。3.在函式體內 n...