Java回调机制的理解

用一句话讲明回调机制就是,在A类里面拥有一个类B的对象,调用B类的某个方法并把自身引用传入,在B类的这个方法里面又通过传进来的A的引用来调用A类的某个方法(这个最后调用的A类的方法就叫做回调方法)。

举一个小例子:

接口里面定义了回调函数(用来给员工回调的)

public interface CallBack {
    
    public void Solve(String result);

}

类Employer(老板):里面定义了一个员工,然后给员工分配任务并把自己引用传给员工。

package CallBack;

public class Employer implements CallBack{
    
    private Employee mEmployee;    //员工对象
    
    public Employer(Employee employee){
        mEmployee=employee;
    }
    
    public void alignProject(String project){    //给员工分配任务
        mEmployee.finishProject(this,project);    //老板类调用员工类的方法
    }

    @Override
    public void Solve(String result) {
        // TODO Auto-generated method stub
        System.out.println(result);
    }

}

类Employee(员工):完成了老板分配的任务后通过老板的引用来调用老板给的回调函数(告诉老板自己已经完成任务了)。

public class Employee {
    
    public void finishProject(Employer employer,String project){
        System.out.println("员工正在为项目"+project+"编码~");
        employer.Solve(project+"已经完成!");    //员工完成项目后,使用老板类的对象回调其方法告诉老板任务完成啦!
    }
    
}

主线程:

public class Main {
    
    public static void main(String args[]){
        
        Employee mEmployee=new Employee();
        Employer mEmployer=new Employer(mEmployee);
        mEmployer.alignProject("京城APP");
        
    }
}
原文地址:https://www.cnblogs.com/chiweiming/p/11025354.html