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

2019-07-03 00:00:00 lambda 接口 Java8

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

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

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

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

《Java8的lambda 自己实现一个之接口使用》
《Java8的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("你好");

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

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

附注:

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

《Java8的lambda 自己实现一个之接口使用》
《Java8的lambda 自己实现一个之接口使用》 加入函数接口注解

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

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

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

    原文作者:Andot蚁点
    原文地址: https://zhuanlan.zhihu.com/p/49310849
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章