class A调用另外一个类classB的方法实现一个功能,并且利用这个方法的返回值还要别的操作:
1、classA要等classB的方法运算完成以后再利用返回值操作。(效率低下,classA被阻塞直到拿到返回值)
2、classA把拿到返回值之后的操作也一并传给classB,等classB计算完成后再调用传进来的方法把classA要操作的操作了。(classA在把参数和操作传给B以后,就可以进行别的事情,不会阻塞住。把操作一并传给B的操作就是回调函数。)
以上是解释的java回调机制的概念。
为了使这个回调函数通用,也就是classB中的运算方法可以被除A以外的其他类用,就需要抽象出一个基类,所有想使用B中该运算方式的类都继承,这样就都可以使用了。由于java中不支持多继承,这里把这个回调函数抽象成一个接口(interface),在需要使用B中运算的类中写一个内部类实现这个接口,并new一个这个内部类实例,把参数和这个实例传给classB即可!!
java的回调机制理解
最新推荐文章于 2022-05-24 00:30:09 发布