【零基础学java】(方法引用)

什么是方法引用

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

方法引用符号 ::

疑问:方法引用与自定义方法的调用的区别?

1.传统调用:你是导演,指挥每个演员(方法)什么时候上场、做什么动作

2.方法引用:你是编剧,只写剧本(方法),Stream是导演,决定如何演绎

方法引用注意点
1.引用处需要是函数式接口
2.被引用的方法需要已经存在
3.被引用的方法的形参和返回值需要跟抽象方法的形参和返回值保持一致
4.被引用方法的功能需要满足当前的需求

引用静态方法

格式 类名::静态方法
范例: Integer::parseInt

引用成员方法

格式:对象:成员方法
其他类:其他类对象::方法名 需要先创建new 其他类的对象,再用类名调用方法名,同时,静态方法是没有this和super的!!!
本类:this::方法名
父类: super::方法名

引用构造方法

目的:创建这个类的对象

格式:类名::new
范例:Student::new

其他调用方式

使用类名引用成员方法

格式:类名::成员方法
范例:String::substring

引用数组的构造方法

特殊规则:需要有函数式接口
被引用的方法必须已经存在
被引用的方法的形参,需要跟抽象方法的第二个形参到最后一个形参保持一致,返回值需要保持一致 被引用方法的功能需要满足当前的需求

抽象方法形参的详解:

第一个参数:表示被引用方法的调用者,决定了可以引用哪些类中的方法
在Stream流中,第一个参数一般都表示里面的每一个数据
假设流里面的数据都是字符串,那么使用这种方式进行方法引用,只能引用String这个类中的方法
第二个参数到最后一个参数,跟被引用方法的形参保持一致,如果没有第二个参数,说明被引用的方法需要是无参的成员方法

引用数组的构造方法
格式:数据类型\[\]::new
范例:int\[\]::new

类型一定要跟流里的数据类型保持一致,且需要注意流里的数据类型会发生变化

引用·javabean中的普通成员方法时有两种方式: 对象::方法名------》形参和返回值要一样
类名::方法名------》如果只有抽象方法一个形参,这个方法可以是空参,但返回值必须是一样的

相关推荐
Emily1568535987017 分钟前
Emerson 1C31129G03 Analog Input Module
java·开发语言·前端·plc·emerson·1c31129g03·input module
就叫_这个吧5 小时前
Java递归方法实现面包屑导航
java·开发语言
fīɡЙtīиɡ ℡5 小时前
AI 应用系统设计
java·开发语言·人工智能
城管不管6 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
码匠许师傅6 小时前
【C++ 面试真题】26. 聊聊 C++ 的智能指针
java·c++·面试
AI绘画哇哒哒6 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
最强小杰6 小时前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
今天AI了吗7 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
TELL5217 小时前
selenium webdriver 第二次初始化的异常
开发语言·python
动词ing8 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法