Java中變數的作用域和生存週期

2021-08-30 07:13:56 字數 473 閱讀 3412

看看下面的** 輸出啥呢

package cn.lifx.test;

public class test2

public void aa()

public static void bb()

public void cc()

}

編譯就出錯了,為啥呢?唉,挺基礎的東西,要我做還真做不對,基礎不紮實啊!因為:

區域性變數不能被static

、private

、protected

、public

等修飾符修飾,但可以被final

修飾符修飾。

另外,總結一下:

1.靜態變數位於方法區,生命週期取決於類何時被載入及解除安裝。 2.

例項變數位於堆區,生命週期取決於例項何時被建立及銷毀。 3.

區域性變數位於棧區,生命週期取決於所屬的方法合適被呼叫及結束呼叫。

C C 中變數的作用域和生存週期

關鍵字 static extern auto 區域性變數的作用域,起始於定義處,直到所在的大括號處結束。全域性變數的作用域,起始與定義處,知道本檔案結束。參考 先看幾段 理解了他們就理解了作用域的概念 1 includeint main printf a d n a a 10 return 0 整個...

靜態變數的生存週期和作用域

首先要理解生存週期與作用域的區別 生存週期 變數從定義到銷毀的時間範圍。存放在全域性資料區的變數的生存週期存在於整個程式執行期間,而存放在棧中的資料則隨著函式等的作用域結束導致出棧而銷毀,除了靜態變數之外的區域性變數都存放於棧中。作用域 變數的可見 域 塊作用域,函式作用域,類作用域,程式全域性作用...

區域性變數的作用域和生存週期

1 在函式開頭定義 2 在函式的內部定義 3 在復合語句塊內部定義 定義在函式內部的變數只能在函式內部引用,同樣定義在復合語句塊中的變數只是在復合語句塊內有效。將這種變數稱為 區域性變數 顧名思義,這些變數的作用域僅僅是在函式內部或復合語句塊內。復合語句塊的區域性變數舉例 include int m...