java回调函数

来源:互联网 发布:淘宝twizzlers扭扭糖 编辑:程序博客网 时间:2024/04/30 16:15

参考

http://blog.csdn.net/allen_zhao_2012/article/details/8056665
http://blog.csdn.net/sweetwxh/article/details/2067139

所谓的回调,就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法
简单粗暴: 就是程序A干完一件事情之后 让程序B干另一件事情
//  假设我是程序员A,以下是我的程序a:public class Caller {        private MyCallInterface mcl;        public Caller() {        }        public setCallfuc(MyCallInterface mc) {            this.mc = mc;        }        public call() {            my.fuc();        }    }    //    我还需要定义一个接口,以便程序员B根据我的定义编写程序实现接口。    public interface MyCallInterface {        public void fuc();    }//    于是,程序员B只需要实现这个接口就能达到回调的目的了:    public class B implements MyCallInterface {        public void fuc() {            // do something        }        public static void main(String args[]) {            Caller call = new Caller();            call.setCallfuc(this);        }    }    public static void main(String[] args) {        Caller caller = new Caller();        // caller.setCallFunc(new Client());        caller.setCallFunc(new MyCallInterface() {            public void printName() {                System.out.println("This is the client printName method");            }        });        caller.call();    } //另一种方式是使用内部类的方式使用   Caller caller = new Caller();  //      caller.setCallFunc(new Client());          caller.setCallFunc(new MyCallInterface() {              public void printName() {                  System.out.println("This is the client printName method");              }          });          caller.call();  
使用内部类的方式还是比较多的  大部分人呢都比较喜欢使用内部类的方式     写的有不足的地方望大家可以给提出来   
0 0
原创粉丝点击