最近几天,在看公司业务代码,最为一个小白,看到密密麻麻的大串代码,理解起来是特别吃力地,特别是中间做了一个小功能,涉及到了回调,更是脑细胞消失无数。今天花了一个多小时时间,才弄懂回调机制。下面说一下我的理解(其中的一种回调方式):
Public interface A{
public abstract void onSuccess();
}
}
然后写处理逻辑的类一个类
Public class C {
B b = new B();
public void do() {
b.onSuccess();
}
}
Public class B implements A{
C c = new C();
c.do();
public void onSuccess() {
//doSomething
}
大概意思:B类实现了接口A,B类调用C类的do()方法,C类的do()方法又反过来回调B类的onSuccess()方法。为什么叫回调呢,我理解的是,表面上看,是调用方B类的onSuccess()方法实现了具体逻辑,但实际是调用方B类调用被调用方C类的do()方法之后,在C类的do()方法中处理完逻辑,逻辑的具体实现放在了调用方B类中。所以叫回调吧。说的有些拗口,希望能理解。