Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谈javalamda和oop_Java_Lambda - Fatal编程技术网

谈javalamda和oop

谈javalamda和oop,java,lambda,Java,Lambda,我们知道Java是一种OOP语言,因为Java8,我们可以使用Lambda。但我有一些问题,希望任何人都能给我一些建议 行动和方法的区别是什么 Lambda定义了一个动作,它似乎与OOP相反。我们过去常常在对象中编写方法来定义其动作。然后我们通过关键字new得到该对象的一个实例。那个实例有它的字段和方法,所以它变成了一个主题,一个角色。但是Lambda破坏了这个结构。 我想知道如何在项目中正确使用Lambda java是一种面向对象编程语言,但在过去的几年中,java和许多其他重要语言一样,试

我们知道Java是一种OOP语言,因为Java8,我们可以使用Lambda。但我有一些问题,希望任何人都能给我一些建议

  • 行动和方法的区别是什么

  • Lambda定义了一个动作,它似乎与OOP相反。我们过去常常在对象中编写方法来定义其动作。然后我们通过关键字new得到该对象的一个实例。那个实例有它的字段和方法,所以它变成了一个主题,一个角色。但是Lambda破坏了这个结构。 我想知道如何在项目中正确使用Lambda

  • java是一种面向对象编程语言,但在过去的几年中,java和许多其他重要语言一样,试图成为<强>多<强>(例如C++,以及最近添加到的所有FP支持)。 函数式编程的一个核心元素:。“做某事的代码”变成了你可以自己定义并传递的东西

    因此,是的,在严格的面向对象意义上,lambdas和闭包看起来很尴尬。但Java只是在遵循一种特定的趋势


    现在,个人观点是:Java这样做是为了保持相关性。OOP概念是为了解决一组非常特定的问题而“发明”的,许多其他问题可以使用FP范式以更好/优雅的方式表达/解决

    “Lambda定义了一个动作,这似乎与OOP背道而驰。”-只有当你认为“动作”不能成为对象时,我才欣赏这种快速回归。