`
anson_xu
  • 浏览: 502253 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类

android回调函数总结

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

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

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

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

回调函数总结

别人给回调的定义:

所谓回调,就是对象A调用另一对象B中的某个方法b,然后B又在某个时候反过来调用A中的某个函数c,对于B来说,这个c便叫做回调函数。
回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口.

 

我的理解, 和一般的类之间的组合类似。就只是A对象调用B对象的一个方法b。只不过方法b是抽象的,是后期绑定的。

 

java回调代码。

    1,定义回调接口。

Java代码
  1. package  com.smart;  
  2. /**  
  3.  * 定义回调接口  
  4.  */   
  5. public   interface  CallBack {  
  6.     void  execute();  
  7. }  
package com.smart;
/**
 * 定义回调接口
 */
public interface CallBack {
	void execute();
}

   2,定义工具类

Java代码
  1. package  com.smart;  
  2. /**  
  3.  * 工具类  
  4.  */   
  5. public   class  Tools {  
  6.     public   void  test(CallBack callBack){  
  7.         long  begin = System.currentTimeMillis(); //测试起始时间      
  8.         callBack.execute();///进行回调操作      
  9.         long  end = System.currentTimeMillis(); //测试结束时间      
  10.         System.out.println("[use time]:"  + (end - begin)); //打印使用时间      
  11.   
  12.     }  
  13.     public   static   void  main(String[] args){  
  14.         Tools tools = new  Tools();  
  15.         tools.test(new  CallBack(){  
  16.             public   void  execute() {  
  17.                 //A.method();  测试类A的某个方法执行的时间   
  18.                 //B.method();  测试类B的某个方式执行的时间   
  19.                 System.out.print("回调" );  
  20.             }  
  21.         });  
  22.     }  
  23. }  
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("回调");
			}
		});
	}
}
 

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

    Strive for maintainable ,reusable  design

 

 

    js的回调回调方法很多,但我还知道一种。 以后在补充吧。

 

Js代码
  1. function  A(callback){   
  2.       callback();  
  3. }  
  4. fuction callback(){  
  5.       alert("我被回调啦。嘎嘎" );  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics