在数学中,该函数是一组具有输入和输出量的计算解决方案,即“做什么和做什么。”
例如:我们真的想创建一个匿名的内部对象吗?不,我们只需要创建一个对象来执行此操作。我们真正想做的是将代码在方法中传输到类别。
传递一件代码 - 这是我们的真正目的。创建对象只是一种限于对象面向对象的方法的方法在“做什么”中,我们会发现,只要我们能够更好地实现目标,过程和形式实际上并不重要。
当需要线程完成任务时,任务内容通常由接口定义,并使用类激活线程。我们使用传统写作如下:
这种方法是可以理解的:首先创建接口的匿名内部类对象来指定任务内容,然后将其放到启动线程中。这是典型的面向对象的编程思维。
问题分析
对于匿名内部使用方法,您可以分析几点:
问题优化
借助Java 8的新语法,上述接口的匿名内部类型写作方法可以通过更简单的lambda表达式实现等效:
该代码与现在的执行效果完全相同,并且可以以1.8或更高的汇编级别传递。从代码的语义中可以看到它:我们启动了线程,并指定了线程任务的内容以更简洁的形式。
不再需要创建接口对象的约束,并且不再存在重写重写方法的负担,这很简单!
lambda表达是JDK1.8开始后的一项新技术,这是一种新的代码语法。这是一种特殊的写作方式。
角色:核心目的是简化匿名内部类的代码编写。“
提供lambda为面向对象的规则,格式由3个部分组成:
lambda表达的标准格式是:
格式描述:
先决条件:
3.1。比较匿名内部课程与lambda
仅以一种方法仔细分析界面的定义:
3.2。参数和返回值以下使用了演示接口的使用方案代码,其抽象方法定义为:
当需要一个数组时,该方法需要一个接口实例来指定排序规则。支持有一个包含两个成员变量的类:
传统写作
如果传统代码用于对数组进行排序,则写作如下:
这种方法似乎是在面向对象的想法中被视为理所当然的。界面的实例(使用匿名内部类)代表“根据年龄”的分类规则。
代码分析
让我们找出上述代码真正想做的事情。
lambda写作
3.3。省略格式和省略规则
根据lambda标准格式,使用的使用规则是:
lambda表达简单:可以省略衍生物
3.4。Lambda的先决条件Lambda的语法非常简洁,并且根本没有复杂的束缚。但是使用时有几个问题需要特别注意:
复杂的限制。但是,使用时需要特别注意以下问题:
备注:只有一种抽象方法,称为“函数接口”。
原始:https://juejin.cn/post/7107083096750555167
