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

相关推荐
charlie11451419121 分钟前
RK3506B: buildroot:出一份正规的最小 rootfs
开发语言·嵌入式·开源项目·rk3506b
jason成都23 分钟前
GNSS-QC 数据清洗功能全面增强|滑坡监测实测验证,适配 rtklib_java 高精度解算链路
java·gnss
前端工作日常27 分钟前
我学习到的Java概念
java·后端
卓怡学长29 分钟前
w263基于springboot + vue 健康饮食管理系统
java·数据库·vue.js·spring boot·spring·intellij-idea
r_oo_ki_e_29 分钟前
Java反射机制学习笔记
java·笔记·学习
Byron Loong38 分钟前
【c#】Bitmap释放之 大象与蚊子
开发语言·c#
九皇叔叔1 小时前
RHEL9.8 配置本地镜像仓库
android·java·缓存
范什么特西1 小时前
苍穹外卖体会
java
Nontee1 小时前
数据类型与包装类 — 一个新手学Java的数据类型笔记
java·笔记·python
音符犹如代码1 小时前
Java动态线程池:避坑原生线程池,吃透Dynamic-TP,手写一个Demo
java·开发语言