java 中閉包運用 實現方法傳遞
阿新 • • 發佈:2019-01-05
寫了一個測試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); } }); }