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

相关推荐
yaoxin5211232 分钟前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
雪宫街道8 分钟前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试
x***r15118 分钟前
linux安装 jdk-8u291-linux-x64.tar.gz 详细步骤(解压配置环境变量)
java
喵星人工作室21 分钟前
C++火影忍者1.1.2
开发语言·c++
basketball6161 小时前
C++ 中的 ptrdiff_t 详解
开发语言·c++
极光代码工作室1 小时前
基于SpringBoot的校园论坛系统
java·springboot·web开发·后端开发
月亮邮递员6161 小时前
Markdown语法总结
开发语言·前端·javascript
printfLILEI1 小时前
php中的类与对象以及反序列化
linux·开发语言·php
曹牧1 小时前
C#:主线程能够捕获到子线程中的异常
开发语言·数据库·c#
代码中介商1 小时前
深入解析STL中的stack、queue与priority_queue
开发语言·c++