java的回调方法

回调方法栗子: 经理出差前要你去办一件事情,这件事情通过doSomething告诉你了,事情要是办完了就通过phoneCall通知她一声 这里的phoneCall我们就称之为回调方法
满足回调的2个基本条件:
1.ClassA 调用 ClassB中的X方法
2.ClassB中的X方法执行过程中调用ClassA中的Y方法完成回调

//该类用来模拟经理类
public class Manager {

    public Manager(Personel personel) {
        personel.doSomething(this, "整理公司文件");

    }

    // 当员工做完经理让他做的事后就通过该方法通知事情结果
    public void phoneCall(String result) {
        System.out.println("事情" + result);
    }
}
//该类用来模拟员工类
public class Personel {

    public void doSomething(Manager manager,String task) {
        //总经理通过doSomething方法告诉员工要做什么
        System.out.println("经理要你做"+task);

        String result="搞定了";

        //当事情做完了我们就通过经理公布的phoneCall方法通知结果
        manager.phoneCall(result);
    }

}
public class Test{

    public static void main(String[] args) {
        //首先需要一个员工
        Personel personel=new Personel();
        //其次把这个员工指派给经理
        new Manager(personel);
    }

}
Console:
经理要你做整理公司文件
事情搞定了

猜你喜欢

转载自blog.csdn.net/qq_35053757/article/details/80051894