本文介紹了Android代碼塊執(zhí)行順序分析總結(jié),分享給大家,具體如下:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了突泉免費(fèi)建站歡迎大家使用!
子類、父類變量,代碼塊,以及構(gòu)造方法的加載順序,是我們?cè)诔绦蜷_發(fā)中時(shí)不時(shí)遇到的一個(gè)問題,也是比較容易混淆的。
基礎(chǔ)準(zhǔn)備:
測(cè)試的父類:
public class ParentClass { public static String name = "爸爸"; public int age = 40; public ParentClass(){ System.out.println("父類構(gòu)造函數(shù)"); } //非靜態(tài)代碼塊 { System.out.println("父類非靜態(tài)代碼塊" + "---" + age); } //靜態(tài)代碼塊 static{ System.out.println("父類靜態(tài)代碼塊" + "---" + name); } }
測(cè)試的子類:
public class ChildrenClass extends ParentClass{ public static String name = "兒子"; public int age = 15; public ChildrenClass(){ System.out.println("子類構(gòu)造函數(shù)"); } { System.out.println("子類非靜態(tài)代碼塊" + "---" + age); } static { System.out.println("子類靜態(tài)代碼塊" + "---" + name); } }
執(zhí)行new ChildrenClass()結(jié)果:
結(jié)果分析:
父類靜態(tài)代碼塊執(zhí)行前,父類靜態(tài)變量就已經(jīng)執(zhí)行了。
父類非靜態(tài)代碼塊執(zhí)行前,父類非靜態(tài)變量就已經(jīng)執(zhí)行了。
上面結(jié)論子類同理。
代碼塊執(zhí)行順序總結(jié):
父類的靜態(tài)成員變量—->父類靜態(tài)代碼塊—->子類靜態(tài)成員變量—->子類靜態(tài)代碼塊—>父類非靜態(tài)變量—->父類非靜態(tài)代碼塊—->父類構(gòu)造方法—->子類非靜態(tài)變量—->子類非靜態(tài)代碼塊—->子類構(gòu)造方法。
另外關(guān)于代碼塊的總結(jié):
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。