通過代碼實(shí)例解析JAVA類生命周期
代碼
public class TestClass { public static int k=0; public static TestClass t1=new TestClass('t1'); public static TestClass t2=new TestClass('t2'); public static int i=print('i'); public static int n=99; public int j=print('j'); { print('構(gòu)造塊'); } static { print('靜態(tài)塊'); } public TestClass(String str) { System.out.println((++k)+''+str+'i='+i+'n='+n); ++n; ++i; } public static int print(String str){ System.out.println((++k) +':' + str + ' i=' + i + ' n=' + n); ++n; return ++ i; } public static void main(String[] args){ System.out.println('=========start============'); TestClass t = new TestClass('init'); System.out.println('=========end============'); }}
執(zhí)行結(jié)果
1:j i=0 n=02:構(gòu)造塊 i=1 n=13t1i=2n=24:j i=3 n=35:構(gòu)造塊 i=4 n=46t2i=5n=57:i i=6 n=68:靜態(tài)塊 i=7 n=99=========start============9:j i=8 n=10010:構(gòu)造塊 i=9 n=10111initi=10n=102=========end============
講解
代碼由上到下 依次執(zhí)行
由static修飾的變量或方法是在方法區(qū),屬于類變量、類方法
new對(duì)象這個(gè)操作,new出來的對(duì)象在堆里 對(duì)象的引用在棧里
new出來的對(duì)象 方法快先構(gòu)造方法執(zhí)行
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. idea給項(xiàng)目打war包的方法步驟2. Intellij IDEA 2020.3 配置教程詳解3. IntelliJ IDEA設(shè)置編碼格式的方法4. Python importlib模塊重載使用方法詳解5. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)6. 使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境7. 兩行Javascript代碼生成UUID的方法8. IntelliJ IDEA刪除類的方法步驟9. js中.sort()函數(shù)的常見用法與高級(jí)操作10. React基礎(chǔ)-JSX的本質(zhì)-虛擬DOM的創(chuàng)建過程實(shí)例分析
