java中變數的存放位置

2021-08-07 19:23:43 字數 599 閱讀 9454

成員變數:作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。

區域性變數:作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。

1.成員變數可以被 public,protect,private,static等修飾符修飾,而

區域性變數不能被控制修飾符及 static修飾;兩者都可以定義成final型。

2.成員變數儲存在堆,區域性變數儲存在棧。區域性變數的作用域僅限於定義它的方法,在該方法的外部無法訪問它。成員變數的作用域在整個類內部都是可見的,所有成員方法都可以使用它。如果訪問許可權允許, 還可以在類的外部使用成員變數。

3.區域性變數的生存週期與方法的執行期相同。 當方法執行到定義區域性變數的語句時,區域性變數被建立;執行到它所在的作用域的最後一條語句時,區域性變數被銷毀。類的成員變數,如果是例項成員變數,它和對 象的生存期相同。而靜態成員變數的生存期是整個程式執行期。

4.成員變數有預設值,基本型別的預設值為 0,復合型別的預設值為null。(被final修飾且沒有static的必須顯式賦值),區域性變數不會自動賦值,所以局 部變數在定義後先要賦初值,然後才能使用。

5.區域性變數可以和成員變數同名,且在使用時,區域性變數具有更高的優先順序。

const static變數存放位置

我們將以下面的例子介紹const變數和static變數的存放位置 static int val a 1 初始化的靜態變數 int val b 2 全域性變數 const int val c 3 const 全域性變數 static int val d 未初始化的靜態變數 int val e 未初始化...

const static變數存放位置 解析

部落格02 一 c語言中文網 static 除了可以修飾全域性變數,還可以修飾區域性變數,被 static 修飾的變數統稱為靜態變數 static variable 不管是全域性變數還是區域性變數,只要被 static 修飾,都會儲存在全域性資料區 全域性變數本來就儲存在全域性資料區,即使不加 st...

Java中各種資料存放的位置

暫存器,程式執行時自動分配 棧 棧存放的是 基本型別的物件和類的引用變數。每個執行緒都有乙個棧,棧內容私有,每個棧都有三個部分 基本型別變數區,執行環境上下文,操作指令區。棧的宣告和持有該棧的執行緒一樣長 堆 物件和資料都存放在這裡。堆的大小可以調節,在jvm載入讀取了類檔案之後,需要把類,方法,常...