多次碰到回调这个概念一直不清楚,今天弄清楚了特别记下来:
回调就是类A调用类B的方法,而此类B的方法中反过来调用了类A的方法。举个栗子:
interface OneMethod{
void doSomething();
}
public class A implements OneMethod{
B b = new B();
public void doA(){
b.doB(this);
}
public void doSomething(){
System.out.println("I'm Callback method...");
}
}
class B {
public void doB(OneMethod oneMethod){
System.out.println("do B things...");
System.out.println("B's things has been finished... call A's method...");
oneMethod.doSomething();
}
}
上例中A类实现了OneMethod 接口,从而A类实现方法 doSomething(),并且A持有B类的引用,因而可以调用B类的方法;
而B类的doB()方法参数是OneMethod类型,故doB()方法持有类A的引用,可回调类A的doSomething() 方法。此时对于类A来说
doSomething()方法就是他的回调方法。
本文深入解析了回调这一核心编程概念,通过实例详细展示了类A如何通过类B调用其方法,形成回调过程。回调机制在软件工程中至关重要,尤其是在事件驱动和异步编程中。
4680

被折叠的 条评论
为什么被折叠?



