最近在完善自己知识的细节,查漏补缺,以前也是听说过java中的这种用法,但是没有深入的学习过,所以就返回来深入的学习了一下,其实java中的这种用法在java框架中是常见的但是你可能不知道这种就是callback机制,下面我绝一个很简单的例子,相信大家一看就明白了吧。
我个人先对callback机制的应用场景说明一下,这个一般会这么用,比如A线程执行一段程序,但是在执行过程中需要调用B去执行一段辅助程序,执行完后要返回到A程序中。就是这么个过程,可能我说的不太清楚,下面我就写一段代码来实例一下。
public class Xiaoming implements Callback{
private Teacher teacher;
private String name;
public Xiaoming(Teacher teacher,String name){
this.name = name;
this.teacher = teacher;
}
public void ask(){
new Thread (){
@Override
public void run(){
teacher.answer(Xiaoming.this, "hello");
// this.teacher.answer(this, "hello");
}
}.start();
}
@Override
public void back() {
System.out.print(this.name);
}
public static void main(String []args){
Teacher teacher = new Teacher();
Xiaoming x = new Xiaoming(teacher,"huo");
x.ask();
}
}
public class Teacher {
public void answer(Callback callback,String question){
System.out.println("teacher answer .....");
callback.back();
}
}
细细的分析一下这段代码我们就可以很好地理解callback 的使用。如有什么讲的不好的,欢迎大家留言,一起讨论。