zoukankan      html  css  js  c++  java
  • JAVA8新特性的一些理解

    什么是闭包

    闭包就是能够读取其他函数内部变量的函数。

    所以闭包可以理解成"定义在一个函数内部的函数"。

    在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

    什么是函数式接口

    只有一个抽象方法的接口,就是函数式接口

    什么是Lambda表达式

    是一个闭包,赋予JAVA语言一个能力:将方法作为作为参数传递给另外一个方法。

    Lamda表达式是函数式接口的快捷实现方式。传统的复杂的实现方式如:匿名内部类。

    什么是方法引用

    是Lambda的另外一种表现形式或者叫更简单的写法。

    适用于这种场景:某些情况下,我们用Lambda表达式仅仅是调用一些已经存在的方法,除了调用动作外,没有其他任何多余的动作。这时候使用方法引用更简洁。

    方法引用可以用等价的Lambda表达式实现。如:

    类型语法对应的Lambda表达式
    静态方法引用 类名::staticMethod (args) -> 类名.staticMethod(args)
    实例方法引用 inst::instMethod (args) -> inst.instMethod(args)
    对象方法引用 类名::instMethod (inst,args) -> 类名.instMethod(args)
    构建方法引用 类名::new (args) -> new 类名(args)
  • 相关阅读:
    bzoj3280
    bzoj3876
    洛谷 p1625
    bzoj1407
    bzoj1227
    bzoj1477 && exgcd学习笔记
    bzoj1345
    c#程序的config文件问题
    思维角度的重要性
    python异步初步窥探
  • 原文地址:https://www.cnblogs.com/wangzhen3798/p/15250245.html
Copyright © 2011-2022 走看看