<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## Java編程那些事兒71——內部類簡介 陳躍峰 出自:[http://blog.csdn.net/mailbomb](http://blog.csdn.net/mailbomb) ### 8.10? 內部類(Inner Class) 內部類是Java語言中的一種特殊的語法,簡單的來說,就是在一個類的內部再聲明一個類,這些聲明在類內部的類就被稱作內部類。在實際聲明時,內部類可以聲明在類的內部、類的方法內部,也可以聲明在類的構造方法內部,內部類聲明的語法格式和一般類的聲明一樣,只是內部類聲明時可以使用static修飾符進行修飾。 對于內部類的相關使用,本部分不做深入的介紹,只是進行簡單的說明,輔助建立內部類的概念,能夠進行一些基本的使用。 下面是一個簡單的內部類的示例代碼: ~~~ ?????????????????? /** ?* 內部類基本使用示例代碼 ?*/ public class OutClass { ???????? int i = 0; ???????? ???????? public classInnerClass{ ?????????????????? public voidtest(){ ??????????????????????????? i++; ?????????????????? } ???????? } } ~~~ 在該示例代碼中,類InnerClass聲明在了類OutClass的內部,所以InnerClass被稱為內部類,而OutClass則被稱為InnerClass的外部類。 該代碼編譯以后,將生成兩個class文件,一個是OutClass.class,另外一個是OutClass$InnerClass.class。這里需要說明的是,內部類也被編譯成一個獨立的類文件,類文件的名稱為:外部類類名$內部類類名.class。 在內部類中,可以很方便的訪問外部類的屬性i,而外部類不能直接引用內部類中的屬性和方法,語法中提供了一套專門的格式來訪問內部類中的屬性和方法,這些語法這里就不作介紹了。 內部類是Java語言誕生以后新增的一個語法,設計該語法的初衷主要有兩個: 1、隱藏內部類的實現 也就是將只有被外部類使用的功能隱藏在內部類的內部,其它類訪問這個內部類時的語法會比較復雜,從而在一定程度了避免了其它類對于內部類的訪問。 2、內部類可以訪問外部類的所有屬性和方法,避免了參數傳遞 在內部類中,可以訪問外部類中的所有屬性和方法,private訪問控制符修飾的屬性和方法也可以被內部類訪問,這樣將方便內部類的編寫,避免了參數傳遞,也減少了外部類需要向其它類開放的屬性和方法的數量。 當然,內部類除了帶來一系列的好處以外,還帶來了一系列的不足,主要的不足有如下幾點: 1、增加了語法的復雜度 在一個類的內部聲明一個類,使Java語言的復雜度增加了很多,也在一定程度上損害了Java語言的編程風格,同時使閱讀代碼的難度大幅度的增加。 2、使整個項目的結構變得復雜 內部類通過增加每個類的復雜度,使得項目的結構變得更加復雜,而且沒有原來的結構那么清晰。 當前內部類的語法在以下編程技術中的應用比較多: 1、圖形用戶界面編程中的事件處理 2、Java語言API中部分功能類的實現 綜合以上說明,在實際的開發過程中,如果不是十分必要,不建議編寫內部類,對于內部類實現的功能可以使用類和類之間的調用進行實現,這樣可以保留Java語言清晰的編程風格。 最后需要特別說明的是:在Java語法中,一個源代碼內部可以編寫多個類,例如: ~~~ ?????????????????? /** ?* 一個類內部聲明多個類 ?*/ public class TwoClassInOneFile { ???????? int n = 0; ???????? public void method(){} } ? class AnotherClass { ???????? char c; ???????? public void t(){} } ~~~ 這樣的源代碼,在編譯時,將生成兩個獨立的class的文件:TwoClassInOneFile.class和AnotherClass.class,這樣的結構不是內部類。 在實際項目中,不推薦進行這樣的編碼,主要原因是不方便類源代碼的查找,而推薦每個源文件內部只聲明一個類的形式。 ?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看