谈谈 java lamda 和 oop

我们知道 Java 是一种 OOP 语言,从 Java 8 开始,我们可以使用 Lambda。但是我有一些问题,希望有人能给我一些建议。

  1. 动作和方法有什么区别?

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


长风秋雁
浏览 171回答 1
1回答

白猪掌柜的

Java 是一种 OOP 语言,但在过去的几年里,Java 和许多其他重要的语言一样,试图变得更加 FP(例如 C++,以及最近添加的所有 FP 支持)。函数式编程的一个核心元素:高阶函数。“做某事的代码”变成了你可以自己定义并传递的东西。所以,是的,在严格的 OOP 意义上,lambdas 和闭包看起来很尴尬。但是 Java 只是在这里遵循特定的趋势。而且,现在个人意见:Java 这样做是为了保持相关性。OOP 概念被“发明”来解决一组非常具体的问题,并且可以使用 FP 范式以更好/优雅的方式表达/解决许多其他问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java