java回调终结贴
——我一直不太信任自己的记忆力,所以我把它们都写下来
写程序不明白回调的难听点说真的都没有入门,事件驱动的基本上都是回调实现,比如Android中按钮点击,Swing中的按钮点击,回调运用的地方真的太多了,必须得拿下。可是回调就是那么绕,一时让人摸不着头脑。下面两个例子一定会让你明白回调。
第一个例子我们以android点击按钮为例
Button.class
/** * 这是一个按钮 * @author albert * */ public class Button { //点击按钮 public void click(ClickListener listenner){ listenner.onClick(); } }
点击事件接口,供Button的click事件使用
/** * 模拟事件处理,具体点击后的算法给实现者 * @author albert * */ interface ClickListener{ public void onClick(); }
下面是在一个Activity上点击按钮的具体处理
/** * 模拟android中的界面(里面可以添加Button等) * @author albert * */ public class Activity { public static void main(String[] args) { Button btn = new Button(); btn.click(new ClickListener() { @Override public void onClick() { System.out.println("这里具体实现点击后要执行的算法"); } }); } }
运行Activity后控制台打印一段文字。不知道这个大家有没有看明白,这个是具体的实际操作过程,我们再抽象下。
public class A { public void func(CallBack callBack){ callBack.call(); } } /**回调接口*/ interface CallBack{ public void call(); }
具体的实现类B
public class B { public static void main(String[] args) { A a = new A(); a.func(new CallBack() { @Override public void call() { System.out.println("这里具体实现点击后要执行的算法"); } }); } }
上面两个例子应该很好理解了吧,然后B类可以改良下
public class B implements CallBack{ public static void main(String[] args) { B b = new B(); A a = new A(); a.func(b); } @Override public void call() { System.out.println("让B实现callback接口"); } }
相关推荐
JAVA-复习终结java复习资料
摘要使用Java异常的人很多,但能合理使用的却不多,Java异常处理设计是一个冷门的话题,但好的异常设计会让程序有质的变化,所以本文从各个方面分析便总结了,在J
JAVA-复习终结版.doc
java版仿p2p终结者,使用arp欺骗实现,另附源码在jar文件中
账号:马根明密码:881026,需要源码的可以联系我:QQ:793332843
Java面试宝典大全 终结版 Java面试宝典大全 终结版
计算机二级JAVA复习资料终结版.pdf
用java实现的类似p2p终结者的软件,修正了上个版本的一些错误,但使用界面还是没有变化
java试题--训后2009题目终结 java试题--训后2009题目终结 java试题--训后2009题目终结
p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结者 p2p 终结者p2p 终结者p2p 终结者 p2p 终结者p2p 终结者 p2p 终结者 p2p 终结...
网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者网吧终结者
很好的Java基础资料,真的很不错的,很适合初级学习
易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游还原终结者易游...
本人在学习java的过程中深受classpath的折磨,为了让初学者少走弯路,我将这些经验总结了一番,总结了多种classpath的基本使用情况和常见的一些问题,以及解决方案和原理,供大家参考
P2P终结者 4.04P2P终结者 4.04P2P终结者 4.04P2P终结者 4.04P2P终结者 4.04P2P终结者 4.04
此项目中com.burns.everyclass.ui.MainUI1是程序主界面, private static final String dirPath = "D:/MentorGraphics/CHS2010/lib"设置要查找的jar包路径,也可以设置maven都路径,然后可以搜索常用的类
驱动防火墙终结者 驱动驱动防火墙终结者 防火墙终结者 驱动防火墙终结者 驱动防火墙终结者