android回呼函數總結

來源:互聯網
上載者:User
回呼函數就是那些自己寫的,但是不是自己來調,而是給別人來掉的函數。
訊息響應函數就可以看成是回呼函數,因為是讓系統在合適的時候去調用。這不過訊息響應函數就是為了處理訊息的,所以就拿出來單做一類了。其實本質上就是回呼函數。
但是回呼函數不是只有訊息響應函數一種,比如在核心編程中,驅動程式就要提供一些回呼函數,當一個裝置的資料讀寫完成後,讓系統調用這些回呼函數來執行一些後續工作。
回呼函數賦予程式員這樣一種能力,讓自己編寫的代碼能夠跳出正常的程式控制流程,適應具體的運行環境在正確的時間執行。
回呼函數總結

別人給回調的定義:

所謂回調,就是對象A調用另一對象B中的某個方法b,然後B又在某個時候反過來調用A中的某個函數c,對於B來說,這個c便叫做回呼函數。
回調是一種雙向調用模式,也就是說,被呼叫者在介面被調用時也會調用對方的介面.

 

我的理解, 和一般的類之間的組合類別似。就只是A對象調用B對象的一個方法b。只不過方法b是抽象的,是後期綁定的。

 

java回調代碼。

    1,定義回調介面。

package  com.smart;   /**    * 定義回調介面    */    public   interface  CallBack {       void  execute();   }   package com.smart;   /**   * 定義回調介面   */  public interface CallBack {       void execute();   }  package  com.smart;   /**    * 工具類    */    public   class  Tools {       public   void  test(CallBack callBack){           long  begin = System.currentTimeMillis(); //測試起始時間               callBack.execute();///進行回調操作               long  end = System.currentTimeMillis(); //測試結束時間               System.out.println("[use time]:"  + (end - begin)); //列印使用時間              }       public   static   void  main(String[] args){           Tools tools = new  Tools();           tools.test(new  CallBack(){               public   void  execute() {                   //A.method();  測試類別A的某個方法執行的時間                    //B.method();  測試類別B的某個方式執行的時間                    System.out.print("回調" );               }           });       }   }   package com.smart;   /**   * 工具類   */  public class Tools {       public void test(CallBack callBack){           long begin = System.currentTimeMillis();//測試起始時間              callBack.execute();///進行回調操作              long end = System.currentTimeMillis();//測試結束時間              System.out.println("[use time]:" + (end - begin));//列印使用時間            }       public static void main(String[] args){           Tools tools = new Tools();           tools.test(new CallBack(){               public void execute() {                   //A.method();  測試類別A的某個方法執行的時間                   //B.method();  測試類別B的某個方式執行的時間                   System.out.print("回調");               }           });       }   }     優點:我個人認為優點主要是將代碼中變與不變的部分相分離,從而大大提高了程式的重用性和擴充性。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.