捕获变量的语义
有人可以在以下两种情况下解释捕获变量的语义 :
(1)仅捕获实例和静态(类)字段(但不是局部变量或参数)的匿名方法(lambda表达式),以及
(2)捕获局部变量和参数以及可能的实例和静态字段的匿名方法。
另外,关闭和捕获变量之间的关系是什么?
闭包是一个对象(通常),其中包含lambda使用的所有捕获的变量。
如果lambda使用实例字段,它实际上隐式捕获this
实例,然后访问它的成员。
如果它只使用静态字段,它根本就没有关闭; 无需上下文即可访问静态字段。
链接地址: http://www.djcxy.com/p/51549.html