Java學(xué)習(xí)筆記(構(gòu)造器與初始化)

構(gòu)造器

  1. 如果沒有主動創(chuàng)建構(gòu)造器羹呵,則會自動創(chuàng)建一個無參構(gòu)造器骂际,即默認構(gòu)造器。但一旦自己創(chuàng)建了構(gòu)造器冈欢,編譯器就不會幫你創(chuàng)建默認構(gòu)造器了歉铝,如果仍然想有一個無參構(gòu)造器,需要自己手動創(chuàng)建凑耻。
    2.子構(gòu)造器必須且只能調(diào)用一次基類構(gòu)造器太示。默認會調(diào)用基類的默認構(gòu)造器,或者也可以手動調(diào)用基類的其他構(gòu)造器香浩。調(diào)用兩次基類構(gòu)造器時就會報錯了类缤。
  2. 成員變量先于構(gòu)造器執(zhí)行,即使構(gòu)造器的代碼位置夾在兩個成員變量的代碼位置的中間邻吭,也會先執(zhí)行成員變量的定義餐弱,再執(zhí)行構(gòu)造器。

有繼承時的初始化順序

/*
繼承時的初始化順序
*/
public class Order extends BaseOrder {
    private int k = printInit("Order.k initialized");
    /*static int printInit(String s) {
        return 22;
    }*/
    public Order() {
        System.out.println("k = " + k);
        System.out.println("j = " + j);
    }
    private static int x2 = printInit("static Order.x2 initialized");
    public static void main(String[] args) {
        System.out.println("Order main start");
        Order o = new Order();
    }

}
class BaseOrder {
    private  int i = 9;
    protected int j;
    BaseOrder () {
        System.out.println("i = " + i + ", j = " + j);
        j = 39;
    }
    static {
        System.out.println("BaseOrder static code start run");
    }
    private static int m = 123;
    private static int x1 = printInit("static BaseOrder.x1 initialized");
    static int printInit(String s) {
        System.out.println(s);
        System.out.println("current BaseOrder.m = " + m + ", n = " + n);
        return 47;
    }
    private static int n = 321;
}


/* 運行結(jié)果
BaseOrder static code start run
static BaseOrder.x1 initialized
current BaseOrder.m = 123, n = 0
static Order.x2 initialized
current BaseOrder.m = 123, n = 321
Order main start
i = 9, j = 0
Order.k initialized
current BaseOrder.m = 123, n = 321
k = 47
j = 39

*/
  1. 首先找Order.main()方法囱晴,加載器開始啟動并尋找Order類的編譯代碼膏蚓,發(fā)現(xiàn)它有個基類BaseOrder, 所以開始加載BaseOrder。注:無論是否new一個基類的對象都會加載這個基類
  2. 執(zhí)行基類BaseOrder的靜態(tài)代碼速缆, 靜態(tài)代碼按照定義順義從上到下執(zhí)行降允。這里執(zhí)行靜態(tài)方法printInit()時,n還未賦值艺糜,所以為0,m已經(jīng)賦值了所以有值123幢尚∑仆#基類靜態(tài)代碼執(zhí)行完后再執(zhí)行導(dǎo)出類的靜態(tài)代碼。到此為止必要的類已經(jīng)加載完畢了
  3. 開始執(zhí)行導(dǎo)出類的main()方法尉剩。開始創(chuàng)建對象
  4. Order的構(gòu)造器中隱式調(diào)用了基類的構(gòu)造方法真慢,先執(zhí)行基類構(gòu)造器,再執(zhí)行子類成員函數(shù)再運行子類構(gòu)造函數(shù)理茎,在運行基類構(gòu)造器時黑界,上一步時執(zhí)行基類的成員函數(shù),再上一步是執(zhí)行基類的基類的的構(gòu)造函數(shù)皂林,一般記作先執(zhí)行成員函數(shù)再執(zhí)行構(gòu)造器朗鸠。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市础倍,隨后出現(xiàn)的幾起案子烛占,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忆家,死亡現(xiàn)場離奇詭異犹菇,居然都是意外死亡,警方通過查閱死者的電腦和手機芽卿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門揭芍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卸例,你說我怎么就攤上這事沼沈。” “怎么了币厕?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵列另,是天一觀的道長。 經(jīng)常有香客問我旦装,道長页衙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任阴绢,我火速辦了婚禮店乐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘呻袭。我一直安慰自己眨八,他們只是感情好,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布左电。 她就那樣靜靜地躺著廉侧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪篓足。 梳的紋絲不亂的頭發(fā)上段誊,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機與錄音栈拖,去河邊找鬼连舍。 笑死,一個胖子當著我的面吹牛涩哟,可吹牛的內(nèi)容都是我干的索赏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼贴彼,長吁一口氣:“原來是場噩夢啊……” “哼潜腻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锻弓,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤砾赔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暴心,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡妓盲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了专普。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悯衬。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖檀夹,靈堂內(nèi)的尸體忽然破棺而出筋粗,到底是詐尸還是另有隱情,我是刑警寧澤炸渡,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布娜亿,位于F島的核電站,受9級特大地震影響蚌堵,放射性物質(zhì)發(fā)生泄漏买决。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一吼畏、第九天 我趴在偏房一處隱蔽的房頂上張望督赤。 院中可真熱鬧,春花似錦泻蚊、人聲如沸躲舌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽没卸。三九已至,卻和暖如春毅贮,著一層夾襖步出監(jiān)牢的瞬間办悟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工滩褥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炫加。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓瑰煎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親俗孝。 傳聞我的和親對象是個殘疾皇子酒甸,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容