<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 內部類 * 什么是內部類 將類寫在其他類的內部,可以寫在其他類的成員位置和局部位置,這時寫在其他類內部的類就稱為內部類。其他類也稱為外部類。 * 什么時候使用內部類 在描述事物時,若一個事物內部還包含其他可能包含的事物,比如在描述汽車時,汽車中還包含這發動機,這時發動機就可以使用內部類來描述。 ~~~ class 汽車 { //外部類 class 發動機 { //內部類 } } ~~~ * 內部類的分類 內部類分為成員內部類與局部內部類。 我們定義內部類時,就是一個正常定義類的過程,同樣包含各種修飾符、繼承與實現關系等。在內部類中可以直接訪問外部類的所有成員 # 成員內部類 成員內部類,定義在外部類中的成員位置。與類中的成員變量相似,可通過外部類對象進行訪問 * 定義格式 ~~~ class 外部類 { 修飾符 class 內部類 { //其他代碼 } } ~~~ * 訪問方式 `外部類名.內部類名 變量名 = new 外部類名().new 內部類名();` * 成員內部類代碼演示 定義類 ~~~ class Body {//外部類,身體 private boolean life= true; //生命狀態 public class Heart { //內部類,心臟 public void jump() { System.out.println("心臟噗通噗通的跳") System.out.println("生命狀態" + life); //訪問外部類成員變量 } } } ~~~ * 訪問內部類 ~~~ public static void main(String[] args) { //創建內部類對象 Body.Heart bh = new Body().new Heart(); //調用內部類中的方法 bh.jump(); } ~~~ # 局部內部類 局部內部類,定義在外部類方法中的局部位置。與訪問方法中的局部變量相似,可通過調用方法進行訪問 * 定義格式 ~~~ class 外部類 { 修飾符 返回值類型 方法名(參數) { class 內部類 { //其他代碼 } } } ~~~ * 訪問方式 在外部類方法中,創建內部類對象,進行訪問 * 局部內部類代碼演示 定義類 ~~~ class Party {//外部類,聚會 public void puffBall(){// 吹氣球方法 class Ball {// 內部類,氣球 public void puff(){ System.out.println("氣球膨脹了"); } } //創建內部類對象,調用puff方法 new Ball().puff(); } } ~~~ 訪問內部類 ~~~ public static void main(String[] args) { //創建外部類對象 Party p = new Party(); //調用外部類中的puffBall方法 p.puffBall(); } ~~~ # 匿名內部類概念 內部類是為了應對更為復雜的類間關系。查看源代碼中會涉及到,而在日常業務中很難遇到,這里不做贅述。 最常用到的內部類就是匿名內部類,它是局部內部類的一種。 定義的匿名內部類有兩個含義: 臨時定義某一指定類型的子類 定義后即刻創建剛剛定義的這個子類的對象 * 定義匿名內部類的作用與格式 作用:匿名內部類是創建某個類型子類對象的快捷方式。 格式: ~~~ new 父類或接口(){ //進行方法重寫 }; ~~~ * 代碼演示 ~~~ //已經存在的父類: public abstract class Person{ public abstract void eat(); } //定義并創建該父類的子類對象,并用多態的方式賦值給父類引用變量 Person p = new Person(){ public void eat() { System.out.println(“我吃了”); } }; //調用eat方法 p.eat(); ~~~ 使用匿名對象的方式,將定義子類與創建子類對象兩個步驟由一個格式一次完成,。雖然是兩個步驟,但是兩個步驟是連在一起完成的。 匿名內部類如果不定義變量引用,則也是匿名對象。代碼如下: ~~~ new Person(){ public void eat() { System.out.println(“我吃了”); } }.eat(); ~~~ # 總結 成員內部類和局部內部類,在編譯以后,都會生成字節碼文件 格式: 成員內部類: 外部類$內部類名.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>

                              哎呀哎呀视频在线观看