通過代碼實(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對象這個(gè)操作,new出來的對象在堆里 對象的引用在棧里
new出來的對象 方法快先構(gòu)造方法執(zhí)行
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
