首頁  >  文章  >  Java  >  java中全域變數和局部變數的差別是什麼?

java中全域變數和局部變數的差別是什麼?

青灯夜游
青灯夜游原創
2019-12-27 15:48:155731瀏覽

java中全域變數和局部變數的差別是什麼?

全域變數是程式設計術語中的一種,源自於變數之分。全域變數既可以是某物件函數創建,也可以是在本程式任何地方創建。全域變數是可以被本程式所有物件或函數引用。

局部變數(Local variables):在方法內部(包括main()方法)定義的變數是局部變數。所有局部變數都是在方法被呼叫時在堆疊中分配空間,系統不會自動對他們進行賦值,所以必須先給局部變數賦初值之後才能使用。

全域變數和局部變數的差異:

1、作用域不同

全域變數具有全域作用域。全域變數只需在一個原始檔中定義,就可以作用於所有的來源檔案。當然,其他不包含全域變數定義的來源檔案需要用extern 關鍵字再次宣告這個全域變數。

局部變數只有局部作用域,它是自動物件(auto),它在程式運行期間不是一直存在,而是只在函數執行期間存在,函數的一次呼叫執行結束後,變數被撤銷,其所佔用的記憶體也被收回。

2、初始值不同

全域變數=有初始值

局部變數=無初始值

#3、宣告上不同

全域變數=在一個類別中不允許宣告同名變數

局部變數=在一個方法中不允許宣告同名變數

(同類不同方法中就可以宣告同名的)

4、優先權不同

兩類變數同名時,局部變數的有限階高

(就近原則)

推薦學習: Java影片教學

以上是java中全域變數和局部變數的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn