淺談java中的局部變量和全局變量
本文對java中的局部變量和全局變量作了如下介紹:
1、局部變量:
局部變量的定義:定義在方法中的變量都是局部變量(main方法也是方法,所以定義在main方法中的變量也是局部變量)。
生存時間:局部變量的生存時間和方法的生存時間一致,調用該方法聲明該局部變量并初始化的時,該局部變量被創(chuàng)建并分配內存空間;直到該方法調用結束局部變量也就結束了;
是否需要初始化:局部變量在使用前必須進行初始化,系統(tǒng)默認不會對局部變量進行初始化數據操作,如果局部變量在使用前沒有進行初始化則會在編譯器報錯;如果局部變量進行了聲明沒有進行初始化, 但是也一直沒有被使用的話編譯也是不會報錯的;(局部變量使用前必須初始化話)
創(chuàng)建位置: 局部變量是創(chuàng)建在棧內存中的;
2、全局變量:
2.1 非靜態(tài)全局變量:
非靜態(tài)全局變量的定義:非靜態(tài)全局變量都是定在類中,是類的成員變量或者說是成員屬性屬于類的一部分(或 者說是對象的一部分);
生存時間:非靜態(tài)全局變量加載在堆內存中,隨著聲明初始化而創(chuàng)建,隨著對象消亡而消亡;
是否需要初始化:全局變量都是不需要被強制初始化的,系統(tǒng)都會默認根據其數據類型進行默認賦值;但是建議 在聲明時都進行初始化操作;
創(chuàng)建位置:創(chuàng)建在堆內存中,因為非靜態(tài)的全局變量數對象的成員變量是對象的一部分;
2.2靜態(tài)全局變量:
靜態(tài)全局變量的定義:靜態(tài)的類成員變量;
生存時間:靜態(tài)全局變量隨著類的字節(jié)碼文件加載而加載產生,隨著字節(jié)碼文件的消失而消失,生存時間比類的 對象還要長;
是否初始化:凡是全局變量都是可以不要初始化的,靜態(tài)變量也是一樣,系統(tǒng)會自動根據其數據類型進行賦默認值,但是建議變量在聲明時都進行初始化;
創(chuàng)建位置:靜態(tài)變量時存在于對內存中的,所以靜態(tài)全局變量也是存在于堆內存中的。
總結
以上就是本文對于java中的局部變量和全局變量的全部介紹,希望對大家有所幫助。
相關文章
淺談java 增強型的for循環(huán) for each
下面小編就為大家?guī)硪黄獪\談java 增強型的for循環(huán) for each。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10基于SpringBoot+vue實現(xiàn)前后端數據加解密
這篇文章主要給大家介紹了基于SpringBoot+vue實現(xiàn)前后端數據加解密,文中有詳細的示例代碼,具有一定的參考價值,感興趣的小伙伴可以自己動手試一試2023-08-08mybatis 如何利用resultMap復雜類型list映射
這篇文章主要介紹了mybatis 如何利用resultMap復雜類型list映射的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07