本篇文章為大家展示了java中局部變量與全局變量的區別有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1、局部變量:
局部變量的定義:定義在方法中的變量都是局部變量(main方法也是方法,所以定義在main方法中的變量也是局部變量)。
生存時間:局部變量的生存時間和方法的生存時間一致,調用該方法聲明該局部變量并初始化的時,該局部變量被創建并分配內存空間;直到該方法調用結束局部變量也就結束了;
是否需要初始化:局部變量在使用前必須進行初始化,系統默認不會對局部變量進行初始化數據操作,如果局部變量在使用前沒有進行初始化則會在編譯器報錯;如果局部變量進行了聲明沒有進行初始化, 但是也一直沒有被使用的話編譯也是不會報錯的;(局部變量使用前必須初始化話)
創建位置: 局部變量是創建在棧內存中的;
2、全局變量:
2.1 非靜態全局變量:
非靜態全局變量的定義:非靜態全局變量都是定在類中,是類的成員變量或者說是成員屬性屬于類的一部分(或 者說是對象的一部分);
生存時間:非靜態全局變量加載在堆內存中,隨著聲明初始化而創建,隨著對象消亡而消亡;
是否需要初始化:全局變量都是不需要被強制初始化的,系統都會默認根據其數據類型進行默認賦值;但是建議 在聲明時都進行初始化操作;
創建位置:創建在堆內存中,因為非靜態的全局變量數對象的成員變量是對象的一部分;
2.2靜態全局變量:
靜態全局變量的定義:靜態的類成員變量;
生存時間:靜態全局變量隨著類的字節碼文件加載而加載產生,隨著字節碼文件的消失而消失,生存時間比類的 對象還要長;
是否初始化:凡是全局變量都是可以不要初始化的,靜態變量也是一樣,系統會自動根據其數據類型進行賦默認值,但是建議變量在聲明時都進行初始化;
創建位置:靜態變量時存在于對內存中的,所以靜態全局變量也是存在于堆內存中的。
上述內容就是java中局部變量與全局變量的區別有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。