全域性變數和區域性變數

2021-07-23 04:01:54 字數 684 閱讀 6622

區域性變數:

在方法中開闢的變數,只在方法中有效

區域性變數在定義時不會初始化,要顯式的給它乙個值(如未給它乙個初始值,雖然編譯的時候會通過,但是執行的時候會產生為初始化錯誤!)。

方法呼叫**執行完,區域性變數便會自動釋放。

在方法內的語句塊中建立的變數在編譯時假如未初始,如若使用,也會報未初始化錯誤!(呼叫的時候不會為其開闢空間)

全域性變數

在類中定義的,對該類的所有方法所共有

全域性變數不用進行顯式初始化,但如果全域性變數的修飾符為final,要進行顯式的初始化,否則編譯不通過。

會呼叫構造方法為其初始化例項全域性變數

如果是靜態全域性變數,可以通過靜態初始化塊為其初始化。

生命週期是隨著物件的銷毀而銷毀。

靜態全域性變數

歸該類的所有物件所公有 特點

1.虛擬機器一載入該類的位元組碼,便會為其的靜態全域性變數在方法區的靜態資料區開闢空間,空間的大小由變數的型別所決定,並初始化,就和相應的類相關聯。

2.虛擬機器在建立乙個物件時,如若有靜態全域性變數,則會為該靜態全域性變數在堆中建立乙個引用。這個引用指向了方法區的靜態資料區中的該變數的空間。所以在方法中使用靜態全域性變數時,會先找到該引用,再通過該引用找到在靜態資料區的該變數。

3.在主方法中呼叫為在主方法中定義的變數,會預設為是靜態全域性變數。

4.在**執行過程中不會被銷毀.

全域性變數和區域性變數

全域性變數 可以被不同的函式 類或檔案呼叫的變數,在函式外定義。區域性變數 只能在函式內使用,定義在函式內。區域性變數的使用 class myclass def myfun num 12 print myfun num num 正確 def myfun2 num num 1 print mufun ...

全域性變數和區域性變數

通常的認為是定義在函式外面的就稱之為全域性變數 函式體內的稱之為區域性變數 在函式中與全域性變數同名的時候 情形1 函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。num 100 定義乙個全域性變數 defdemo num 100 這裡面的實際上是定義了乙個區域性的變數 ...

全域性變數和區域性變數

一 區域性變數 區域性變數 內部變數,儲存於棧中 定義 在函式內定義,只在本函式內有效 說明 main中定義的變數只在main中有效 不同函式中同名變數,佔不同儲存單元 形參屬於區域性變數 可定義在復合語句中且只在本復合語句中有效的變數 在未被賦值或初始化的情況下,初值為隨機數 二 全域性變數 定義...