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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[success] # java 回調模式 1. **回調模式**——如果一個方法的**參數是接口類型**,則在調用該方法時,需要創建并傳遞一個實現此接口類型的對象;而該方法在運行時會調用到參數對象中所實現的方法(接口中定義的)。 * 實現方式 1. 自定義類實現接口/繼承類并重寫方法,然后創建該類對象作為實參傳遞 2. 使用上述匿名內部類的語法格式得到接口/類類型的引用即可 >[danger] ##### 案例 * 定義類中方法調用是接口類型 ~~~ public class FunInner { // 調用接口類型給 public void show(AnonymousInterface ai) { ai.show(); } public static void main(String[] args) { FunInner funInner = new FunInner(); funInner.show(new AnonymousImpl()); } } ~~~ * 定義接口 ~~~ public interface AnonymousInterface { // 自定義抽象方法 public abstract void show(); } ~~~ * 實現接口 ~~~ public class AnonymousImpl implements AnonymousInterface { public void show() { System.out.println("aaa"); } } ~~~ >[info] ## 使用匿名內部類 * 接口/父類類型 引用變量名 \= new 接口/父類類型() { 方法的重寫 } >[danger] ##### 案例二 * 不想為此單獨實現一個接口類,使用匿名函數形式 ~~~ public class FunInner { // 調用接口類型給 public void show(AnonymousInterface ai) { ai.show(); } public static void main(String[] args) { FunInner funInner = new FunInner(); AnonymousInterface aInterface = new AnonymousInterface() { public void show() { } }; funInner.show(aInterface); } } ~~~ * 使用**lamda**表達式可以簡化上述代碼,格式為:(參數列表) -> {方法體} ~~~ public class FunInner { // 調用接口類型給 public void show(AnonymousInterface ai) { ai.show(); } public static void main(String[] args) { FunInner funInner = new FunInner(); AnonymousInterface ait2 = () -> System.out.println("lamda表達式"); funInner.show(ait2); } } ~~~
                  <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>

                              哎呀哎呀视频在线观看