首頁  >  文章  >  Java  >  Java中局部變數與全域變數的簡單介紹

Java中局部變數與全域變數的簡單介紹

黄舟
黄舟原創
2017-09-22 11:33:521615瀏覽

這篇文章主要涉及了java中的局部變數和全局變數,就二者的意義、生存時間和創建位置作了介紹,需要的朋友可以參考下。

本文對java中的局部變數和全域變數作如下介紹:

1、局部變數:

局部變數的定義:定義在方法中的變數都是局部變數(main方法也是方法,所以定義在main方法中的變數也是局部變數)。

生存時間:局部變數的生存時間和方法的生存時間一致,調用該方法聲明該局部變數並初始化的時,該局部變數被創建並分配記憶體空間;直到該方法調用結束局部變數也就結束了;

是否需要初始化:局部變數在使用前必須進行初始化,系統預設不會對局部變數進行初始化資料操作,如果局部變數在使用前沒有進行初始化則會在編譯器報錯;如果局部變數進行了宣告沒有進行初始化, 但是也一直沒有被使用的話編譯也是不會報錯的;(局部變數使用前必須初始化話)

建立位置:局部變數是創建在堆疊記憶體中的;

2、全域變數:

2.1 非靜態全域變數:

非靜態全域變數的定義:非靜態全域變數都是定在類別中,是類別的成員變數或說是成員屬性屬於類別的一部分(或者說是物件的一部分);

生存時間:非靜態全域變數載入在堆記憶體中,隨著宣告初始化而創建,隨著物件消亡而消亡;

##是否需要初始化:全域變數都是不需要強制初始化的,系統都會預設根據其資料類型進行預設賦值;但是建議在宣告時都進行初始化操作;


建立位置:創建在堆記憶體中,因為非靜態的全域變數數物件的成員變數是物件的一部分;

#2.2靜態全域變數:

靜態全域變數的定義:靜態的類別成員變數;


生存時間:靜態全域變數隨著類別的字節碼檔案載入而載入產生,隨著字節碼檔案的消失而消失,生存時間比類的物件還要長;

是否初始化:凡是全域變數都是可以不要初始化的,靜態變數也是一樣,系統會自動根據其資料型別進行賦預設值,但是建議變數在宣告時都會初始化;

建立位置:靜態變數時存在於對記憶體中的,所以靜態全域變數也是存在於堆記憶體中的。

總結#

以上是Java中局部變數與全域變數的簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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