【零基础学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中的普通成员方法时有两种方式: 对象::方法名------》形参和返回值要一样
类名::方法名------》如果只有抽象方法一个形参,这个方法可以是空参,但返回值必须是一样的

相关推荐
空心木偶☜4 分钟前
A2A2A(多智能体协作)
开发语言·python·ai·ai编程
Cc.Y6 分钟前
Java零基础入门:类与对象深度掌握 —— 从“零散变量“到“打包管理“
java·开发语言·python
\光辉岁月/8 分钟前
2.java变量
java·开发语言·变量
Wang's Blog11 分钟前
Java 项目实战: 外卖平台优化-前端dist部署与Nginx反向代理rewrite
java·前端·nginx
专业程序开发源11 分钟前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
夏天的清晨23 分钟前
C++入门学习
开发语言·c++·学习
代码山河26 分钟前
Java的前世今生:从Oak语言到Java 23的发展史
java·学习·架构·教程·面向对象·项目
新鲜势力呀27 分钟前
PHP 文件上传系统实战:从上传卡顿到分片上传 + 秒传 + 云存储架构完整优化方案
开发语言·架构·php
vx_Biye_Design27 分钟前
springboot角色扮演服务平台65161-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
李游Leo28 分钟前
HarmonyOS 7 QuickDock 闪控窗开发实录 02:floatView × floatingBall:形态切换、位置恢复与单一状态源【鸿蒙心迹】
java·华为·harmonyos