在java中也找到了闭包的感觉

刚才在优化swing 类库的时候突然有了闭包的感觉.

在文本框的构造函数中,会添加监听事件

 

方法addActionMap 是用于绑定监听事件的.

该方法接收了一个参数,是final类型的:final Map<String, ActionCallback> actionCallbackMap

在事件的响应程序中会调用该变量:

 

可是该变量是一个局部变量,不是成员变量.

按道理,执行完TextCompUtil2.addActionMap(this, undo, actionCallbackMap); 之后,局部变量actionCallbackMap 是要销毁的.

可是触发响应事件的时候,依然会引用到.

类似JavaScript的闭包:



 

猜你喜欢

转载自hw1287789687.iteye.com/blog/2320307