成員變數與區域性變數

2021-10-22 16:01:27 字數 478 閱讀 7670

就近原則

變數的分類

非靜態**塊的執行:每次建立例項物件都會執行

方法的呼叫規則:呼叫一次執行一次

宣告的位置

修飾符

值儲存的位置

堆:此記憶體區域的唯一目的就是存放物件例項,幾乎所有的物件例項都要在這裡分配記憶體。——>所有的物件例項以及陣列都要在堆上分配記憶體。

棧(虛擬機器棧):虛擬機器棧用於存放區域性變數表等。區域性變數表存放了編譯期可知長度的各種基本資料型別(boolean、byte、short、int、float、long、double)、物件引用(reference型別,它不等同於物件本身,是物件在堆記憶體的首位址)。方法執行完,自動釋放。

方法區:用於儲存已被虛擬機器載入的類資訊、常量、靜態變數、即時編譯器編譯後的**等資料。

作用域生命週期

成員變數與區域性變數

成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.成員變數可以被 public,protect,private,static等修飾符修飾,而 區域性變數不能被控制修飾符及 stati...

成員變數與區域性變數

成員變數在堆記憶體中 類變數在靜態區記憶體中 區域性變數在棧記憶體中 成員變數和類變數有預設值 區域性變數沒有預設值使用前需要先初始化 成員變數每個物件獨佔,在整個類體中有效,使用物件呼叫 類變數所有物件共享,使用類呼叫 區域性變數只在具體方法體中有效 成員變數隨著物件建立而產生,隨著物件銷毀而銷毀...

成員變數與區域性變數

1.定義位置不同 成員變數定義在類內部方法之外 區域性變數定義在方法內部 2.作用域不同 成員變數作用在類內部 區域性變數作用在方法之內 3.記憶體中的位置不同 成員變數儲存在堆裡面 區域性變數儲存在棧裡面 4.預設值不同 成員變數有預設值 區域性變數沒有預設值 5.成員變數訪問修飾符有四個 pri...