zoukankan      html  css  js  c++  java
  • java面试之闭包(closure)

    今天在学习Openresty的时候回顾了下闭包这个问题,感觉很久没有深入的了解这块的内容的,只是之前js的时候学习过闭包,突然一问,感觉不记得闭包了:

    看了一个比较有趣的答案:

    闭包,顾名思义,就是把馒头变成包子~
    
    馒头全是面粉,包上馅就成了包子
    
    包子是带馅的馒头
    
    闭包是自带运行环境的函数
    
    发哥是自带背景音乐的男人~
    
    有童鞋不理解“自带运行环境”的含义~
    
    再举例说一次吧~
    
    码农们都吃过方便面吧~ 
    它和普通面条有什么区别呢? 
    就是 自带调味包 。
    调味包就是方便面的烹饪环境。
    它简化了煮面条的流程。让用户不必练就厨艺也能吃上美味的内牛满面。
    
    函数式编程的闭包,就是函数的调味包。
    方便用户调用函数。不必为了维护繁杂的外部状态而烦恼。
    例如python,就把闭包玩出了很多花样:
    静态私有变量啦~
    偏函数啦~
    单参化~
    装饰器~
    ……
    
    当你在用这些功能的时候,其实就是在吃别人设定好调味包的“方便面”。
    

      关于闭包的参考这个博客吧,具体的解释:

    http://www.cnblogs.com/ywqbj/p/5822644.html

  • 相关阅读:
    JAVA核心技术笔记总结--第14章 线程总结
    java核心技术笔记——第 9 章 集合
    Java核心技术笔记——第 8 章 泛型
    2.面向对象三大特征
    1.浅谈面向对象思想
    8.字符串
    7.数组
    6.调试程序
    5.流程控制语句
    4.运算符
  • 原文地址:https://www.cnblogs.com/fengli9998/p/7877586.html
Copyright © 2011-2022 走看看