java闭包的作用_深入理解Java闭包概念

闭包又称词法闭包

闭包最早定义为一种包含和的实体.

解释一:闭包是引用了自由变量的函数,这个被引用的变量将和这个函数一同存在。

解释二:闭包是函数和相关引用环境组成的实体。

注::除了局部变量的其他变量

简单理解:闭包能够将一个方法作为一个变量去存储,这个方法有能力去访问所在类的自由变量。

Java中闭包实现

关键点:

如何用变量去存储方法?

java中能够保存方法的变量指的就是普通的对象

如何让这个普通对象能够访问所在类的自由变量?

纯天然的解决办法是:内部类。内部类能够访问外部类的所有属性及方法。

隐藏具体实现是内部类的作用之一,如何保证隐藏具体实现的同时还能将闭包传递到外部使用?

让内部类实现通用接口,然后将内部类对象向上转型为接口类型。

上述解决办法就是Java最常用的闭包实现办法(内部类+接口)

下面提供一个简单的实现

public class Milk {

public final static String name = "纯牛奶";//名称

private static int num = 16;//数量

public Milk()

{

System.out.println(name+":16/每箱");

}

/**

* 闭包

* @return 返回一个喝牛奶的动作

*/

public Acti

你可能感兴趣的:(java闭包的作用)