成員變數和區域性變數

2022-09-20 01:51:12 字數 989 閱讀 5681

1.什麼是變數

變數的定義是: 用來命名乙個資料的識別符號。

如:int a = 1;

int 是乙個資料型別;

a 是變數名;

1 是變數值;

這三種元素共同來描述變數,乙個int型別,變數值為1的變數a;當然變數值有時候可以省去,在類中方法外定義的變數,如果沒有賦值,系統會賦予乙個預設值;而在方法中定義的變數則沒有預設值。

2.什麼是成員變數和區域性變數

成員變數:定義在類中方法外的變數.

public class test1
區域性變數:定義在方法中的變數

public class test2

}

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

**注:

棧記憶體:棧記憶體首先是一片記憶體區域,儲存的都是區域性變數,凡是定義在方法中的都是區域性變數(方法外的是全域性變數),for迴圈內部定義的也是區域性變數,是先載入函式才能進行區域性變數的定義,所以方法先進棧,然後再定義變數,變數有自己的作用域,一旦離開作用域,變數就會被釋放。棧記憶體的更新速度很快,因為區域性變數的生命週期都很短。

堆記憶體:儲存的是陣列和物件(其實陣列就是物件),凡是new建立的都是在堆中,堆中存放的都是實體(物件),實體用於封裝資料,而且是封裝多個(實體的多個屬性),如果乙個資料消失,這個實體也沒有消失,還可以用,所以堆是不會隨時釋放的,但是棧不一樣,棧裡存放的都是單個變數,變數被釋放了,那就沒有了。堆裡的實體雖然不會被釋放,但是會被當成垃圾,j**a有垃圾**機制不定時的收取。

**注:

若存在成員變數和區域性變數的變數名一樣時,在定義區域性變數的方法中呼叫該變數名,程式將採用就近原則,所以呼叫的是區域性變數,若要在方法中呼叫成員變數,需加上this。

public class test

}

成員變數和區域性變數

定義類其實就是在定義類中的成員 成員 成員變數 屬性,成員函式 行為 成員變數和區域性變數的區別 1.成員變數定義在類中,整個類中都可以訪問 區域性變數定義在函式 語句 區域性 塊中,只在所屬的區域有效 2.成員變數存在於堆記憶體的物件中。區域性變數存在於棧記憶體的方法中。3.存活時間不同 成員變數...

成員變數和區域性變數

成員變數 寫在 interence和 end之間大括號之間的變數 例項變數,屬性 注意 1.成員變數只能通過物件來訪問 2.成員變數不能離開類,離開類之後就不是成員變數 3.成員變數不能在定義的同時初始化 儲存 當前物件對應的堆得儲存空間中 堆區 特點 堆區儲存的資料不會自動釋放,只能手動釋放 區域...

成員變數和區域性變數

成員變數 區域性變數 在類內部定義的變數 在方法內部定義的變數 有訪問許可權修飾符 沒有訪問許可權修飾符 有靜態成員變數 沒有靜態區域性變數 系統可以自動為成員變數賦初值 系統不會為區域性變數賦初值 只要類在某個作用域中,其字段也 也稱成員變數 也在該作用域內 區域性變數存在於表示宣告該變數的塊語句...