栏目导航
热点推荐
- 三十条有用的 Java 编程规则
- Java制作水印图片源码
- Java常见异常及可能的导致原因
- Java中的修饰词使用方法总结
- J2EE系统异常的处理准则
- Java中的异常、断言、日志解析(
- Java面试技巧:Java面试题集锦(
- 面向Java开发人员的Scala指南:
- Java程序员:一刻钟精通正则表达
- 网友经验分享:学好java开发的关
- 专家解答:创建表格与数据库进行
- Java远程访问Domino数据库
阅览排行
Java回调方式:Java Listener模式
www.jz123.cn 2010-04-26 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
每种语言都有自己回调的方法,java也不例外.
Java的回调是采用多态的方式来回调.比如:
1 interface MouseListener { 2 //当click方法被调用的时候代表被鼠标点击了. 3 void click(); 4 } |
上面是一个接口,里面只有一个方法.先就通过一个例子展示java是如果施展多态的力量了.
1 public class Model { 2 3 //初始化50个监听器 4 private MouseListener[] listeners = new MouseListener[50]; 5 //用于记录当前listeners数组记录到了哪里 6 int index = 0; 7 8 public void addListener(MouseListener listener) { 9 //向这个model中注册一个监听器 10 listeners[index++] = listener; 11 } 12 13 public void clickModel() { 14 //调用注册进来所有的listener的click方法 15 for (int i = 0; i < index; i++) { 16 listeners[i].click(); 17 } 18 } 19 //测试model 20 public static void main(String[] args) { 21 Model model = new Model(); 22 //添加一个匿名内部类,里面实现了click方法. 23 model.addListener(new MouseListener() { 24 25 public void click() { 26 System.out.println("我被点击了"); 27 } 28 }); 29 //再添加一个内部类. 30 model.addListener(new MouseListener() { 31 32 public void click() { 33 System.out.println("我被点击了"); 34 } 35 }); 36 37 //下面给model一个点击 38 model.clickModel(); 39 } 40 } 41 42 43 |
2
上一篇:Java对于Oracle 联合策略举足轻重 下一篇:Java文件IO机制简介