写了一个测试java闭包的实例,在事件监听中用得比较多的设计模式!
定义一个接口,通过接口来传递方法体
/**
* @author yaohw
*
*/
public interface Action{
public void excute(Object arg);
}
消息接收类
/**
* @author yaohw
*
*/
public class To{
private int j = 0;
/* (non-Javadoc)
* @see Action#excute(int)
*/
public void update(Object i) {
j = (Integer) i;
System.out.println(j);
}
}
消息发出者
public class From{
private int i = 12112;
public void doWork(final Action action){
//do sth
action.excute(i);
}
}
测试主方法
public static void main(String[] args) {
final To to = new To();
From from = new From();
from.doWork(new Action() {
@Override
public void excute(Object arg) {
System.out.println("传方法");
to.update(arg);
}
});
}