刚学看这个表达式,感觉这个东西有些地方是个玄学啊,没搞明白...
刚发现的一个问题,有一个TestLambda2的类,还有一个TestLambda4的接口
类中的方法:
接口中的:
参数一样,类中的是static修饰的,两个没有任何联系,继承啊实现啊这些,然后:
成立了...即使我在弄一个新的接口然后参数一样,返回类型一样,然后也没有任何联系,依然可以引用,求大神给一个通俗点的教程地址...
刚学看这个表达式,感觉这个东西有些地方是个玄学啊,没搞明白...
刚发现的一个问题,有一个TestLambda2的类,还有一个TestLambda4的接口
类中的方法:
接口中的:
参数一样,类中的是static修饰的,两个没有任何联系,继承啊实现啊这些,然后:
成立了...即使我在弄一个新的接口然后参数一样,返回类型一样,然后也没有任何联系,依然可以引用,求大神给一个通俗点的教程地址...
Lambda表达式的引入是java对函数式编程思想的引入。简单的来说,方法也可以作为一种变量进行赋值和传递。但是因为java本身的面向对象思想,所以以类的形式对函数式编程思想进行实现。
推荐阅读《java8 实战》来深入理解一下。
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答732 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
Java 是面向对象的语言,所以各种语法都无法脱离 类 而存在,而看问题也要透过现象看到本质:
对于
TestLambda4 lambda4 = TestLambda2::test1
这个方法引用,你可以理解为:而对于 Lambda 表达式,虽然底层实现和匿名内部类有区别,但是在语法功能上,二者是完全一致的,即可以把上面的 Lambda 理解为: