java关于方法引用的补充(::)

关于方法引用的补充

System.out.println()

这是一个很普通的打印方法,我们日常使用,用来单行打印一些参数内容。

System.out::println

通过::可以看出,使用了方法引用,java8的新特性。

查看System.out的代码

public final static PrintStream out = null;

查看printStream类的代码

public void println() {
    newLine();
}

所以,调用流程应该是

System类 -> out 获取PrintStream实例 -> 调用PrintStream类中的 println 方法。

结合之前了解到的方法引用的规则,可知这条代码的格式:

函数式接口 变量名 = 实例 :: 方法名

为什么不直接使用 PrintStream

查看 PrintStream 源代码的构造方法,我们可以看到,它的构造方法参数要么是需要流、或者file文件、file文件名字。要通过 PrintStream 来创建实例会很麻烦。

在这里插入图片描述

alt + 7 查看java类中的方法目录

ctrl + H 查看java类的层级结构

例子:

Consumer<String> fun = System.out::println;
fun.accept("hello");
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值