网上有很多博文都解释了java回调机制,但有些看了并不那么容易理解
老是有同事说,没问题,这里个回调,我却不知道什么叫回调,于是我下定决定要去弄懂这个java机制
废话不多说,实现回调必须要有两个类,一个接口。下面讲一下步骤:
1.类A中有1个方法(此方法中有CallBack callBack的参数)方法中执行了接口中的方法
2.类B实现了接口,并重写方法,同时执行类A中的定义的那个方法,执行到接口的方法,就调用了类B的实现接口的方法,这就是回调方法
总的一句话:类A调用类B的方法,类B放过来调用类A的方法,这就是回调方法。
是不是很绕,那就对了,下面就来个例子。
首先要定义一个接口:
- public interface CallBack
- {
- public void method();
- }
- public class A
- {
- public CallBack callBack;
- public void setCallfuc(CallBack callBack)
- {
- callBack.method();
- }
- }
- public class B implements CallBack
- {
- public void method() //这是实现接口重写的方法
- {
- System.out.println("回调");
- }
- public static void main(String args[])
- {
- A a = new A();
- a.setCallfuc(this); // 执行到callBack.method()时,调用此类中实现接口的方法
- // 其实可改为此类不实现接口,a.setCallfuc(new CallBack(){//在这里面重写方法});
- }
- }