靜態變數 成員變數與區域性變數的區別

2021-09-22 20:08:38 字數 856 閱讀 2495

成員變數和區域性變數的區別

成員變數:

①成員變數定義在類中,在整個類中都可以被訪問。

②成員變數隨著物件的建立而建立,隨著物件的消失而消失,存在於物件所在的堆記憶體中。

③成員變數有預設初始化值。

區域性變數:

①區域性變數只定義在區域性範圍內,如:函式內,語句內等,只在所屬的區域有效。

②區域性變數存在於棧記憶體中,作用的範圍結束,變數空間會自動釋放。

③區域性變數沒有預設初始化值

在使用變數時需要遵循的原則為:就近原則

首先在區域性範圍找,有就使用;接著在成員位置找。

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

1.兩個變數的生命週期不同

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

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

2、呼叫方式不同

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

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

3、別名不同

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

靜態變數也稱為類變數。

4、資料儲存位置不同

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

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

成員變數、區域性變數、靜態變數的區別

專案 成員變數 區域性變數 靜態變數

定義位置 在類中 , 方法外 方法中 , 或者方法的形式引數 在類中 , 方法外

初始化值 有預設初始化值 無 , 先定義 , 賦值後才能使用 有預設初始化值

呼叫方式 物件呼叫 — 物件呼叫,類名呼叫

儲存位置 堆中 棧中 方法區

生命週期 與物件共存亡 與方法共存亡 與類共存亡

變數分類(區域性變數 成員變數 靜態變數)

1,區域性變數 locl variable 區域性變數指的的就是方法或者語句內部定義的變數,方法裡面定義好的變數就稱之為區域性的變數,它的生命週期從定義的位置開始一直到方法或者語句塊結束。區域性變數在使用前必須先宣告 初始化 賦初值 在使用。public void test public void ...

成員變數 區域性變數 靜態變數

成員變數 成員變數定義在類中,在整個類中都可以被訪問。成員變數隨著物件的建立而建立,隨著物件的消失而消失,存在於物件所在的堆記憶體中。成員變數有預設初始化值。區域性變數 區域性變數只定義在區域性範圍內,如 函式內,語句內等,只在所屬的區域有效。區域性變數存在於棧記憶體中,作用的範圍結束,變數空間會自...

成員變數 區域性變數與靜態變數對比

一 成員變數 1 成員變數定義在類中,在整個類中都可訪問 2 成員變數與物件共存亡 3 成員變數有預設初始值 二 區域性變數 1 區域性變數定義在區域性範圍內,如 函式 塊內 2 區域性變數存在棧中,作用範圍結束,變數空間自動釋放 3 區域性變數無缺省初始值 三 靜態變數 1 靜態變數可以被所有物件...