Java回调的一种简易实现
2015-07-04 23:24
337 查看
回调在生活中的例子是特别多的,最简单的就是手机闹铃了。我们给手机设置了闹钟,在时间到了的时候,手机闹铃通知我们起床。
以下以一个非常简单的例子作为回调的一种实现。
首先,我们需要编写回调接口,就是需要回调的时候,有哪些方法可以执行。
以下以一个非常简单的例子作为回调的一种实现。
首先,我们需要编写回调接口,就是需要回调的时候,有哪些方法可以执行。
public interface IGameCallBack { // game success public void gameSuccess(); // game fails public void gameFail(); }在IGameCallBack接口中,我们声明了两个方法,比赛成功和比赛失败。
import java.util.UUID; public class GamePlay { private boolean gameResult = false; IGameCallBack listener = null; public GamePlay(IGameCallBack sListener) { listener = sListener; new Thread(new Runnable() { @Override public void run() { try { // we play the game Thread.sleep(1500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } char c = UUID.randomUUID().toString().charAt(0); if (c < 'a' || c > 'z') { gameResult = true; } else { gameResult = false; } if (gameResult) { listener.gameSuccess(); } else { listener.gameFail(); } } }).start(); } }接着,我们定义了GamePlay这个类,该类主要描述了比赛的进行和结束,取UUID返回的首字母,如果不是a到z直接的字符,则比赛胜利,否则失败,然后通知大家比赛的结果。
public class CallBackTest { public static void main(String[] args) { new GamePlay(listener); } private static IGameCallBack listener = new IGameCallBack() { @Override public void gameSuccess() { // if win the game, the method will be called System.out.println("We win!"); } @Override public void gameFail() { // if lose, the method wil be called System.out.println("We lose!"); } }; }我们要观看一场足球比赛,但是我们很忙没有时间看比赛,只想知道结果,在GamePlay中注册了回调接口,然后只需要等着比赛结束后通知我们就好了。我们需要在gameSuccess()和gameFail()中编写我们的逻辑。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统