首页 文章资讯内容详情

Java中 lambda表达式的方法引用

2026-06-04 1 花语

方法引用是lambda表达式中引用方法而不执行该方法的方法。在lambda表达式的主体中,如果它们与功能接口兼容,则可以调用另一个方法。

运算符 “::”可用于将类名与方法名分开

方法引用静态方法

使用类名引用了静态方法。在lambda表达式中,我们可以使用以下语法引用静态方法。

句法

Class-name :: Method-name;

示例

interface Test { void func(); } class StaticMethodRef { static void message() { System.out.println("Welcome to www.nhooo.com"); } } public class LambdaMethodRefTest1 { public static void main(String arg[]) { Test test = StaticMethodRef :: message; //使用“ ::”运算符调用 test.func(); } }

输出结果

Welcome to www.nhooo.com

对实例方法的方法引用

通过使用lambda表达式来引用实例方法。我们需要引用一个实例方法,使用实例名称而不是类名称。“::”运算符还可用于引用实例方法。

语法

Instance-name :: Method-name;

示例

interface Test { void func(); } class InstanceMethodRef { void message() { System.out.println("Welcome to www.nhooo.com"); } } public class LambdaMethodRefTest2 { public static void main(String arg[]) { InstanceMethodRef ref = new InstanceMethodRef(); Test test = ref :: message; //使用“ ::”运算符调用 test.func(); } }

输出结果

Welcome to www.nhooo.com