做个笔记,加深印象。
所谓回调函数,简单的理解就是A调用B的方法b,B再调用A的方法a。
这里方法b的参数包括对象A。
/** * Created by TK on 2016/10/8. */ public interface CallBack { public void solve(String answer); }
/** * Created by TK on 2016/10/8. */ public class Students implements CallBack{ private Teacher teacher; public Students(Teacher teacher) { this.teacher = teacher; } @Override public void solve(String answer) { System.out.println("In students Class"); System.out.println(answer); } public void askQuestion(String question){ System.out.println("In Students Class"); new Thread(new Runnable() { @Override public void run() { teacher.solveQuestion(Students.this,question); } }).start(); } }
/** * Created by TK on 2016/10/8. */ public class Teacher { public void solveQuestion(Students students,String question){ System.out.println("In Teacher Class"); System.out.println("问题是" + question); students.solve("答案是2"); } }
/** * Created by TK on 2016/10/8. */ public class Main { public static void main(String[] args) { Teacher teacher = new Teacher(); Students students = new Students(teacher); students.askQuestion("1+1=?"); } }