闭包的解释:
闭包就是把函数以及变量包起来,使得变量的生存周期延长。闭包跟面向对象是一棵树上的两条枝,实现的功能是等价的
我所理解的是,在一个Java的方法内定义一个index变量,当前方法中存在一个内部的匿名对象。内部的匿名对象引用index变量并且作为Java的方法返回出去。
代码解释如下:
public static InnerObject<Integer> closure(){
final int index = 100;
return new Supplier<Integer>() {
@Override
public Integer get() {
return index;
}
};
}
public interface InnerObject<T> {
T get();
}