zoukankan      html  css  js  c++  java
  • Java函数式接口与逐步lambda简化

    函数式接口(functional interface 也叫功能性接口,其实是同一个东西)。

    简单来说,函数式接口是只包含一个方法的接口。比如Java标准库中的java.lang.Runnable和 java.util.Comparator都是典型的函数式接口。

    Java中的lambda无法单独出现,它需要一个函数式接口来盛放,lambda表达式方法体其实就是函数接口的实现.

    (在我们重现线程的run方法,实现数组倒序排序的时候重写comoarator时候都要用到lambda表达式 来实现函数式接口

    lambda包含三部分:
    1、一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数
    2、一个箭头符号:->
    3、方法体,可以是表达式和代码块。

    在IDEA中接口的方法 默认为抽象方法。

    在外面声明一个函数式接口 及一个对应的实现类

    在类中声明一个静态内部类

    static内部类是顶级内部类:可以一次性创建对象。非静态内部类 需要先创建外面的类 再通过外面的类创建非静态内部类。

    static内部类里面可以使用static关键字。

    我们回到简化上面来。看一下静态内部类。 放在类里

     

    局部内部类。放在方法里的

    匿名内部类 也是在方法里面的,不同点在于没有类的名称

    最后看一下lambda简化

  • 相关阅读:
    洛谷 P2421 [NOI2002]荒岛野人
    POJ 2115 C Looooops
    POJ 3292 Semi-prime H-numbers
    [网络流24题]负载平衡问题(费用流)
    [网络流24题]骑士共存问题
    POJ 3281 Dining
    洛谷 1306斐波那契公约数
    ELK+Filebeat 安装配置入门
    一个JS内存泄露实例分析
    Node.js 事件循环
  • 原文地址:https://www.cnblogs.com/cckong/p/14264821.html
Copyright © 2011-2022 走看看