在實體類中只有屬性和方法
區別一:定義的位置
首先在定義類中的變數是成員變數
定義方法種的是區域性變數
區別二:在記憶體中的位置不同
成員變數儲存在堆記憶體的物件中
區域性變數儲存在棧記憶體的方法中
區別三:生命週期不同(什麼時候建立,什麼時候銷毀!)
成員變數隨著物件的出現而出現在堆中,隨著物件的消失而從堆中消失(gc垃圾**機制)
區域性變數隨著方法的執行而出現在棧中,隨著方法的彈棧而消失
區別四:初始化不同
成員變數因為在堆記憶體中,所有預設的初始化值
區域性變數沒有預設的初始化值,必須手動的給其賦值才可以使用。
例子:
class personpublic void sleep()
}
存在某個類中的並且類方法外就叫成員變數。成員變數可以在類中的任何地方訪問
區域性變數和成員變數的名字可以重名 採用就近原則
class personpublic void sleep()
}
成員變數和區域性變數區別
變數根據定義位置的不同,我們給變數起了不同的名字。如下圖所示 在類中的位置不同 重點 成員變數 類中,方法外 區域性變數 方法中或者方法宣告上 形式引數 作用範圍不一樣 重點 成員變數 類中 區域性變數 方法中 初始化值的不同 重點 成員變數 有預設值 區域性變數 沒有預設值。必須先定義,賦值,最後...
成員變數和區域性變數區別
成員變數 直接宣告在類內部的變數稱為成員變數 member variables 宣告成員變數的語法格式 修飾符 資料型別 變數名 值 public static final double pi 3.14 區域性變數 只能宣告在方法 包括形參列表 或者程式塊中 使用前,必須顯式地為區域性變數初始化 不...
成員變數和區域性變數的區別
成員變數和區域性變數的區別?1.類中的位置不同 成員變數 在類中方法外 區域性變數 在方法中定義或者在方法宣告上 2.記憶體中的位置不同 成員變數 在堆記憶體中 區域性變數 在棧記憶體中 3.命週期不同 成員變數 隨著物件的建立而存在,隨著物件的消失而消失 區域性變數 隨著方法的呼叫而存在,隨著方法...