对回调函数的理解

从开始学java起就一直在用系统提供的回调函数,今天在本身写一个异步加载的工具类的时候,因为业务的需求,须要对onPostExecute()进行单独的处理。这就要用到回调函数了,虽然一直用系统的,可是本身写回调函数的时候仍是有那么点问题。上网看了别人的理解,发现说的不够清楚明白。在这里我把本身总结的写一下,省的之后本身忘了 java

进入正题: 异步

                回调函数,顾名思义,就是往回调的函数。平时咱们用的监听器其实就是用回调函数实现的。监听器监听了某个事件,可是对于这个事件怎么处理,他并不知道。这就须要调用监听器的人来定义对这个事件的处理了。 ide

其实际的用法,我用一个简单的例子来实现,咱们在写一个功能类,算帐的功能类。一个商品的单价是10,咱们须要算出来全部商品的总价。可是总共有多少商品,咱们并不知道。这就须要调用咱们这个工具类的人传入这个参数。那么这个功能就须要他来实现了。 函数

咱们写的工具类: 工具

public class CallBack {
//定义一个接口,让调用者实现这个接口,按照本身的意愿来提供数据或者实现本身的想法
	public interface setNum {
		public int num();
	}
//这个类就是算总价的工具类,可是咱们不知道总共有多少商品,因此咱们在上面定义了一个接口,让调用者来给咱们提供数据
	public void count(setNum setnum) {
		int a = setnum.num();
		int b = a * 20;
		System.out.println(b + "");
	}

}
调用者的代码:

public class invoke {
	public static void main(String[] args) {

		CallBack cb = new CallBack();
		cb.count(new setNum() {

			@Override
			public int num() {
				int a = 10;
				return 10;
			}
		});
	}
}
上面的这个例子对于需求来讲并不合适,由于往方法里面传入一个参数就OK了。可是这个写就很方便你们理解。并且刚开始用回调的新手能够比葫芦画瓢的去实现。

但愿你们都能用好回调函数。 spa

相关文章
相关标签/搜索