lambda表达式,写一个接口,运用一下

Posted earlybridvic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lambda表达式,写一个接口,运用一下相关的知识,希望对你有一定的参考价值。

以前对于java8 的lambda使用过,就是用在了spring JdbcTemplate 的一些数据库dml操作方法上,但是并不会自己书写一个,今天学习了下,还是很好理解的。

第一步、我们建立一个接口,并且书写一个抽象方法

这里要特别注意,想用lambda表达式方式书写,这里一定只能书写一个抽象方法!

在这里不用拽特性,例如说重载啊,都不行,我都是用过了,只允许一个抽象函数

 
技术图片
 

建立一个接口(抽象方法、默认方法、静态方法)

在这里你看到我的截图你可能说了,你看你这里面有三个方法,对啊,一般会书写接口的,或者基础比较好的,

都知道,接口里面是可以书写默认方法和静态方法的,这种方法是没有限制的,

但是抽象方法必须只有一个(普及下知识点哈:抽象方法是没有方法体的,只是虚函数)

public  interface  TestLambdaService{

       void   test(Stringname);

      defaultvoidtest1(){

          System.err.println("#test1 perform");

      }

      static void  test2(){

       System.err.println("#test2 perform");

    }

}

第二步、书写lanbda表达式实现接口的抽象方法

TestLambdaService testLambdaService = (String name) -> {         

  System.err.println("lanbda test"+name);       

};

 

括号里面的参数name String这个可写可不写

 

第三步、调用方法执行逻辑

testLambdaService.test("你好");

 

第四步、运行查看输出结果

 
技术图片
 

附注:

@FunctionalInterface 这个注解是放在TestLambdaService 接口之上的,表明了这个接口是一个函数接口

 
技术图片
 

加入函数接口注解

这个注释可以帮助你严格检查,你是写了一个抽象方法还是多个,如果书写多个抽象方法则直接会报错

下一次更新 lambda之 抽象类的使用

 

以上是关于lambda表达式,写一个接口,运用一下的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE-22.1.6Lambda表达式的注意事项

灵活运用lambda表达式

Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)

JDK8新特性-函数式接口和Lambda表达式

Lambda 表达式

Lambda表达式详解