Java8的lambda 自己实现一个之接口使用
以前对于java8 的lambda使用过,就是用在了spring JdbcTemplate 的一些数据库dml操作方法上,但是并不会自己书写一个,今天学习了下,还是很好理解的。
第一步、我们建立一个接口,并且书写一个抽象方法
这里要特别注意,想用lambda表达式方式书写,这里一定只能书写一个抽象方法!
在这里不用拽特性,例如说重载啊,都不行,我都是用过了,只允许一个抽象函数
建立一个接口(抽象方法、默认方法、静态方法)
在这里你看到我的截图你可能说了, 你看你这里面有三个方法,对啊,
一般会书写接口的,或者基础比较好的,都知道,接口里面是可以书写默认方法和静态方法的,
这种方法是没有限制的,但是抽象方法必须只有一个
(普及下知识点哈:抽象方法是没有方法体的,只是虚函数)
public interface TestLambdaService {
void test(String name);
default void test1(){
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之 抽象类的使用
蚁点广告君来啦!!!旅游内部特价票:请假微信ucisoft
原文作者:Andot蚁点
原文地址: https://zhuanlan.zhihu.com/p/49310849
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://zhuanlan.zhihu.com/p/49310849
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章