Java 中的callback机制

最近在完善自己知识的细节,查漏补缺,以前也是听说过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 的使用。如有什么讲的不好的,欢迎大家留言,一起讨论。

你可能感兴趣的:(Java)