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

2021-10-10 17:21:40 字數 861 閱讀 4444

區別1:**中位置不同

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

區域性變數:方法中定義的變數 **塊中定義的變數

區別2:**的作用範圍

成員變數:當前類的很多方法

區域性變數:當前乙個方法(當前**塊)

區別3:是否有預設值

成員變數:有

區域性變數:沒有

引用資料型別: null

區別4:是否要初始化

成員變數:不需要,不建議初始化,後續使用的時候再賦值即可

區域性變數:一定需要,不然直接使用的時候報錯

區別5:記憶體中位置不同

成員變數:堆記憶體

區域性變數:棧記憶體

區別6:作用時間不同

成員變數:當前物件從建立到銷毀

區域性變數:當前方法從開始執行到執行完畢

**:

public

class

student

int a;if(

1==3)

system.out.

println

(c);

}public

void

eat(

)//這是乙個main方法,是程式的入口:

public

static

void

main

(string[

] args)

}

執行結果:

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

類中定義的變數,和在方法定義的變數有啥差別呢?即區域性變數和成員變數區別 總結下面幾點異同 區別一 定義的位置不同 定義在類中的變數是成員變數 定義在方法中或者 語句裡面的變數是區域性變數 區別二 在記憶體中的位置不同 成員變數儲存在堆記憶體的物件中 區域性變數儲存在棧記憶體的方法中 區別三 宣告週...

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

區別一 定義的位置不同 定義在類中的變數是成員變數 定義在方法中或者 語句裡面的變數是區域性變數 區別二 在記憶體中的位置不同 成員變數儲存在堆記憶體的物件中 區域性變數儲存在棧記憶體的方法中 區別三 生命週期不同 成員變數隨著物件的出現而出現在堆中,隨著物件的消失而從堆中消失 區域性變數隨著方法的...

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

區域性變數和成員變數的區別?1 在類中的位置不同 成員變數 成員位置 在類中,方法外定義的變數 區域性變數 在方法定義中,或者方法宣告上的變數 2 在記憶體中的位置也不同 成員變數 在堆記憶體中 區域性變數 在棧記憶體中 3 生命週期 成員變數 隨著物件的建立而存在,隨著物件的 而消失 區域性變數 ...