把已经有的方法拿过来用,当作函数式接口中抽象方法的方法体

  1. 引用出必须是函数式接口

  2. 被引用的方法必须已经存在

  3. 被引用方法的形参和返回值需要和抽象方法保持一致

  4. 被引用方法的功能要满足当前要求

::双冒号是方法引用符

方法引用的分类

引用静态方法:

格式 类名::静态方法

引用成员方法:

格式 类名::成员方法

  1. 其他类 其它类对象::方法名

  2. 本类 this::方法名

  3. 父类 super::方法名

使用类名引用成员方法

规则

  1. 需要函数式接口

  2. 被引用的方法必须已经存在

  3. 被引用的方法形参,需要跟抽象方法的第二个形参到最后一个形参保持一致,返回值需要保持一致

  4. 被引用方法的功能需满足当前的需求

抽象方法的详解

  • 第一个参数:表示被引用方法的调用者,决定可以引用那些类中的方法,在steam流中,第一个参数一般都表示流里的每一个数据,假设流中的数据是字符串,那么使用这种方式进行引用,只能引用string这个类用的方法

  • 第二个参数到最后一个参数:跟被引用的形参保持一致,如果没有第二个参数,说明被引用的方法需要是无参的成员方法

局限性:不能引用所有类中的成员方法

是跟抽象方法的第一个参数有关,这个参数是什么类型的,那么只能引用这个类的方法

JAVA入门——方法引用的更多相关文章

  1. Java 8 新特性-菜鸟教程 (2) -Java 8 方法引用

    Java 8 方法引用 方法引用通过方法的名字来指向一个方法. 方法引用可以使语言的构造更紧凑简洁,减少冗余代码. 方法引用使用一对冒号 :: . 下面,我们在 Car 类中定义了 4 个方法作为例子 ...

  2. JAVA 8 方法引用 - Method References

    什么是方法引用 简单地说,就是一个Lambda表达式.在Java 8中,我们会使用Lambda表达式创建匿名方法,但是有时候,我们的Lambda表达式可能仅仅调用一个已存在的方法,而不做任何其它事,对 ...

  3. Java 8 方法引用

    转自:https://www.runoob.com/java/java8-method-references.html 方法引用通过方法的名字来指向一个方法. 方法引用可以使语言的构造更紧凑简洁,减少 ...

  4. Java 8方法引用使用指南

    [编者按]本文作者为拥有15年 Java 开发经验的资深程序员 Per-Åke Minborg,主要介绍如何灵活地解析 Java 中的方法引用.文章系国内 ITOM 管理平台 OneAPM 编译呈现. ...

  5. Java 之 方法引用

    方法引用 一.冗余的Lambda场景 来看一个简单的函数式接口以应用Lambda表达式: @FunctionalInterface public interface Printable { void ...

  6. Java(43)JDK新特性之方法引用

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228461.html 博客主页:https://www.cnblogs.com/testero ...

  7. Java 8函数编程轻松入门(四)方法引用

    C#中系统提供了许多IEnumerable的扩展方法.同样在Java 8中新引入了Collector类. 1.方法引用 定义: 简而言之:就是一个Lambda表达式.在Java 8中,我们我们会使用L ...

  8. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  9. Java入门姿势【面向对象3】构造方法及其重载_方法的调用

    上次我为大家写出啦"定义类与创建对象_了解局部变量",上篇文章代码可能较多,如没有了解透彻的话请打开下方文章在进行观看一下哦!! [Java入门姿势[面向对象2]定义类与创建对象_ ...

  10. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...

随机推荐

  1. vs 编译加速

    简介 充分利用多核的性质 参考链接 https://blog.csdn.net/fanyun_01/article/details/79122455 主要用 2)项目-属性-配置属性-C/C++--- ...

  2. opengl 学习 之 05 lesson

    简介 颜色和坐标一眼都是opengl 的属性,不过坐标是作为内建属性之一. 加载纹理 link http://www.opengl-tutorial.org/uncategorized/2017/06 ...

  3. java 背景颜色更改

    简介 java 事件处理机制 code /* * @Author: your name * @Date: 2020-10-28 22:38:26 * @LastEditTime: 2020-10-29 ...

  4. POLIR-Laws: 报案、举报、控告有什么区别?

    报案.举报.控告有什么区别呢? 我这里说的报案.举报.控告指的是刑事诉讼法中的概念, 其他的可以参照适用,比如<治安管理处罚法>中也有报案.举报.控告的概念. <刑事诉讼法>第 ...

  5. DBA 行业是否将会逐渐消亡?

    DBA 行业是否将会消亡? 最近几年由于企业数据上云.自动化运维.人工智能等技术的快速发展,让很多 DBA 感到焦虑,担心技术的变革会让自己饭碗不保,其实大可不必如此.新技术的到来意味着一些简单机械. ...

  6. 多Agent协作入门:移交编排模式

    大家好,我是Edison. 上一篇我们学习了Semantic Kernel中的群聊编排模式,它非常适合集思广益.协作解决问题等类型任务场景.今天,我们学习新的模式:移交编排. 移交编排模式简介 在移交 ...

  7. webpack4 升级到 5

    1. 升级 webpack 和 webpack-cli 1.1 升级 webpack 4 至最新的可用版本. 当使用 webpack >= 4 时,升级到最新的 webpack 5 版本无需额外 ...

  8. 深入解析Java启动参数:从基础配置到高级调优

    全面指南:内存管理·GC策略·性能监控·避坑实践 一.启动参数的核心分类与作用 Java启动参数是连接应用代码与JVM的桥梁,直接影响性能.稳定性和诊断能力.根据规范层级可分为三类: 类型 前缀/语法 ...

  9. LangGraph官方文档笔记——3.为聊天机器人添加记忆

    目录 看官方的代码 创建检查点 构建图 测试聊天机器人的记忆功能 实践为聊天机器人添加记忆 创建带记忆的聊天机器人 测试聊天机器人的记忆功能 我们的聊天机器人现在可以使用工具回答用户问题,但它不记得之 ...

  10. 【译】模型上下文协议(MCP)现已在 Visual Studio 中正式发布

    我们很高兴地宣布,MCP 支持现已在 Visual Studio 中正式发布(GA)-- 这将从您的整个开发栈中解锁更丰富.实时的上下文,并以前所未有的方式增强 Agent 模式的功能. 模型上下文协 ...