`
weicaijin8
  • 浏览: 32494 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android回调函数总结

阅读更多
android回调函数总结

回调函数就是那些自己写的,但是不是自己来调,而是给别人来掉的函数。

消息响应函数就可以看成是回调函数,因为是让系统在合适的时候去调用。这不过消息响应函数就是为了处理消息的,
所以就拿出来单做一类了。其实本质上就是回调函数。

但是回调函数不是只有消息响应函数一种,比如在内核编程中,驱动程序就要提供一些回调函数,
当一个设备的数据读写完成后,让系统调用这些回调函数来执行一些后续工作。

回调函数赋予程序员这样一种能力,让自己编写的代码能够跳出正常的程序控制流,
适应具体的运行环境在正确的时间执行。

回调函数总结

别人给回调的定义:

所谓回调,就是对象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("回调");  
            }  
        });  
    }  

















   优点:我个人认为优点主要是将代码中变与不变的部分相分离,从而大大提高了程序的重用性和扩展性。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics