看看下面的** 輸出啥呢
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...