企业做网站有什么用,如何将优酷视频上传到自己网站,深圳外包企业网站,梅州建站教程回调(callback)在我们做工程过程中经常会使用到#xff0c;今天想整理一下回调的原理和使用方法。回调的原理可以简单理解为#xff1a;A发送消息给B#xff0c;B处理完后告诉A处理结果。再简单点就是A调用B#xff0c;B调用A。那么是如何实现的呢#xff1f;一般而言今天想整理一下回调的原理和使用方法。回调的原理可以简单理解为A发送消息给BB处理完后告诉A处理结果。再简单点就是A调用BB调用A。那么是如何实现的呢一般而言处理消息的类是唯一的而发送消息的类却是各种各样的所以一般的做法是将回调方法做成一个接口不同的发送者去实现该接口并且把自己的接口实现类的对象在发送消息时传递给消息处理者。(现在不太方便画图之后再补上图)现在以一个CS结构的示例来说明回调的过程Client类package com.test.callback;/*** Created by puyangsky on 2016/6/13.*/public class Client {Server server;public Client(Server server) {this.server server;}public void sendMsg(final String msg) {System.out.println(客户端正在发生消息 msg);new Thread(new Runnable() {Overridepublic void run() {try {//调用server类的获取消息方法并且传入myCallback对象server.getMsg(new myCallback(), msg);} catch (InterruptedException e) {e.printStackTrace();}}}).start();}//实现Callback接口private class myCallback implements Callback {Overridepublic void process(int status) {System.out.println(处理成功返回状态为 status);}}}回调接口类interface Callback {void process(int status);}Server类package com.test.callback;/*** Created by puyangsky on 2016/6/13.*/public class Server {public void getMsg(Callback callback, String msg) throws InterruptedException {System.out.println(服务端获得消息 msg);//模拟处理消息过程等待两秒Thread.sleep(2000);System.out.println(服务端处理成功返回状态为200);//处理完消息调用回调方法告知客户端callback.process(200);}}测试类package com.test.callback;/*** Created by Administrator on 2016/6/13.*/public class CallbackTest {public static void main(String[] args) {Server server new Server();Client client new Client(server);client.sendMsg(hello);}}