interface B {
public void cllBack(String result);
}
class C implements B {
public void cllBack(String result) {
if (result.equals("操作完成")) {
System.out.println("我是C,收到A的通知,A已经做完工作");
}
}
}
public class A {
B objectB;
public void setObjectB(B objectB) {
this.objectB = objectB;
}
//line14-17和line32加起来相当于 B objectB=new C();
public void operation() {
/*
* 业务操作 业务操作
*/
System.out.println("回调前");
objectB.cllBack("操作完成");
System.out.println("回调后");
}
public static void main(String[] args) {
A objectA = new A();
//把C类传入A类
objectA.setObjectB(new C());//......相当于 line18
System.out.println("main回调前");
objectA.operation();//当A类执行完操作后调用callBack()方法,这时候A调用的就是C类callBack()方法,
//相当于通知了C“我的操作完成了”,我们只要在C类的callBack()方法写处理就可以了
System.out.println("main回调后");
}
}
public void cllBack(String result);
}
class C implements B {
public void cllBack(String result) {
if (result.equals("操作完成")) {
System.out.println("我是C,收到A的通知,A已经做完工作");
}
}
}
public class A {
B objectB;
public void setObjectB(B objectB) {
this.objectB = objectB;
}
//line14-17和line32加起来相当于 B objectB=new C();
public void operation() {
/*
* 业务操作 业务操作
*/
System.out.println("回调前");
objectB.cllBack("操作完成");
System.out.println("回调后");
}
public static void main(String[] args) {
A objectA = new A();
//把C类传入A类
objectA.setObjectB(new C());//......相当于 line18
System.out.println("main回调前");
objectA.operation();//当A类执行完操作后调用callBack()方法,这时候A调用的就是C类callBack()方法,
//相当于通知了C“我的操作完成了”,我们只要在C类的callBack()方法写处理就可以了
System.out.println("main回调后");
}
}