Java8的lambda 自己实现一个之接口使用

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

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

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

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

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

在这里你看到我的截图你可能说了,你看你这里面有三个方法,对啊,一般会书写接口的,或者基础比较好的,都知道,接口里面是可以书写默认方法和静态方法的,这种方法是没有限制的,但是抽象方法必须只有一个(普及下知识点哈:抽象方法是没有方法体的,只是虚函数)publicinterfaceTestLambdaService{voidtest(Stringname);defaultvoidtest1(){System.err.println("#test1 perform");}staticvoidtest2(){System.err.println("#test2 perform");}}

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

TestLambdaService testLambdaService = (String name) -> {            System.err.println("lanbda test"+name);        };

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

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

testLambdaService.test("你好");

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

附注:

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

加入函数接口注解

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

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

蚁点广告君来啦!!!旅游内部特价票:请假微信ucisoft

你可能感兴趣的:(Java8的lambda 自己实现一个之接口使用)