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简化

  • 相关阅读:
    cout的输出格式初探
    CVPR 2015 papers
    C语言的32个保留字
    读取siftgeo格式文件的matlab程序
    (转)各类排序算法总结
    被除数、除数、商、余数的正负号规律二
    被除数、除数、商、余数的正负号规律一
    FCKEditor上传图片word
    CKEditor上传图片word
    在线编辑器上传图片word
  • 原文地址:https://www.cnblogs.com/cckong/p/14264821.html
Copyright © 2011-2022 走看看