qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          JAVA筆記:構造方法

            構造方法定義:

            【修飾符】 構造方法名(形參列表)

                       {

                          }

            【修飾符】:構造方法的上一級單元是類,所以修飾符可以public、protected(父子類訪問權限)、private(本類訪問權限)、默認(包訪問權限)

            【沒有返回類型】

            【構造方法名】:必須與類名一致

            a.一般概念

            構造方法不能夠被繼承,也就構造方法不能夠被重寫

            構造方法是特殊的方法,不能夠被程序員直接調用,必須使用new關鍵字來調用,或者在構造方法中this(實參)調用本類構造方法,

            或者在構造方法中super(實參)調 用父類構造方法。

            b.創建對象執行過程

            首先分配內存空間,并且執行默認初始化操作(根、父、子類的順序分配空間),此時對象已經創建成功。

            然后執行初始化代碼塊,在執行構造方法(根初始化代碼塊、根構造方法、父初始化代碼塊、父構造方法、子初始化代碼塊、子構造方法的順序執行)。

            c.構造方法調用的規則

            首先判斷子類中是否有super(必須在構造方法中第一條語句使用)調用父類構造方法,如果有,則調用super匹配的父類構造方法。

            如果沒有,如果父類顯式定義構造方法,則判斷是否有無參構造方法,如果有,則調用父類無參構造方法。

            如果沒有,則編譯出錯。

            如果父類沒有定義構造方法,則系統自動默認一個無參構造方法,并且執行體為空。

            最后判斷是否有this(必須在構造方法中第一條語句使用)調用本類構造方法,如果有,則調用this匹配的本來構造方法

            d.構造方法中使用成員變量

            如果要調用父類的成員變量,可以使用super.變量

            如果要調用本類的成員變量,可以使用this.變量

            如果要調用局部變量,可以直接使用變量

            e.構造方法中使用成員方法

            如果要調用父類的成員方法,可以使用super.方法名(實參);

            如果要調用本類的成員方法,可以使用this.方法名(實參)或者方法名(實參);

            注意點:如果父類構造方法中調用普通方法,并且此普通方法在子類中被重寫,則父類構造方法中調用的普通方法為子類的普通方法,

           ?。ㄒ簿褪菆绦凶宇惖钠胀ǚ椒ǎ藭r子類的引用變量為null時沒有進行顯式初始化,所以有可能導致null指針異常(如果在

            子類普通方法中使用子類的引用變量計算)。

          posted on 2013-09-22 10:11 順其自然EVO 閱讀(201) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 景泰县| 华亭县| 安新县| 株洲县| 河南省| 巴彦淖尔市| 新民市| 乌兰县| 黎城县| 清流县| 浠水县| 昌都县| 古浪县| 岗巴县| 唐海县| 来安县| 连云港市| 桐柏县| 定陶县| 靖江市| 奈曼旗| 乌鲁木齐县| 临泽县| 陆丰市| 武强县| 合阳县| 仙游县| 怀安县| 寿光市| 乳源| 青岛市| 志丹县| 东丰县| 汝南县| 沽源县| 宿松县| 深圳市| 雷波县| 师宗县| 兰西县| 宝清县|