隨筆-95  評論-31  文章-10  trackbacks-0
          類初始化順序:
          1、首先是所有父類的static初始化,按代碼中出現的順序(意思是代碼塊和賦值語句),最后到子類的static的初始化,依然按代碼中出現的順序
          2、其次是所有父類的非static初始化,按代碼中出現的順序(意思是代碼塊和賦值語句),然后執行父類的構造函數,最后到子類的非static的初始化,依然按代碼中出現的順序。
          3、最后才是子類構造函數里面的內容。
          4、如果構造里面出現super(...)或者this(...),那么是super(...)的話先到父類去,然后從1開始;如果是this(...)的話,那么先到this(...)所指的構造中去,然后默認執行super()(如果沒有super(...)的話),然后就從1開始(如果有static的話)。這里強調一點:static的代碼塊和賦值語句只執行一遍,比如 在main方法里面連續new 子類() 兩個,那么第二個new 子類()將直接從2開始初始化。

          以上就是一個類初始化的順序!
          在強調一點:
          《1》static的初始化與是否new 構造無關,只要調用類.屬性,類.方法;類.屬性=、new 類()就會進行初始化并賦值
          《2》非static的初始化僅僅只在new 構造
          posted on 2012-06-13 21:52 朔望魔刃 閱讀(239) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 湘乡市| 南溪县| 易门县| 灵川县| 普兰店市| 安龙县| 和硕县| 南皮县| 泽库县| 乐至县| 阜新市| 峨山| 衡山县| 旌德县| 罗城| 霍邱县| 元朗区| 南靖县| 沙田区| 枣阳市| 噶尔县| 五大连池市| 翁源县| 门源| 辽源市| 诸城市| 城口县| 乃东县| 昭苏县| 乐亭县| 成安县| 普洱| 芒康县| 油尖旺区| 民和| 外汇| 怀安县| 高台县| 宁乡县| 凌源市| 若羌县|