各位小伙伴们大家好,在之前的文章中,小编简单介绍了Lambda表达式Java之Runnable表达式的简单介绍,这次小编要介绍的是,使用Lambda表达式,定义一个无参数无返回值的方法。

如,给定一个Phone接口,内唯一一个抽象方法ringUp,无参数,无返回值。使用Lambda的标准格式调用involvePhone方法,打印输出“打电话”字样。代码如下:

/*定义一个Phone接口,内含唯一的抽象方法ringUp*/
public interface Phone {
/*定义一个无参数返回值的方法ringUp*/
public abstract void ringUp();
}


main方法

public class Demo01Phone {
public static void main(String[] args) {
//调用involvePhone方法,参数是Phone接口,使用Phone接口的匿名内部类对象
invokePhone(new Phone() {
public void ringUp() {
System.out.println("打电话");
}
});
}
//定义一个方法,参数传递Phone接口,方法内部调用Phone接口中的方法ringUp
public static void invokePhone(Phone call) {
call.ringUp();
}
}


这是用匿名内部类的方法来定义,就是制定一种做事情的方案,一方面匿名内部类可以帮我们省去实现类的定义,但是匿名内部类的语法有点复杂。其实用标准的Lambda表达式会简单很多,代码如下:

public class Demo01Phone {
public static void main(String[] args) {
//使用Lambda表达式,简化匿名内部类的书写
invokePhone(()->{
System.out.println("打电话");
});
}
//定义一个方法,参数传递Phone接口,方法内部调用Phone接口中的方法ringUp
public static void invokePhone(Phone call) {
call.ringUp();
}
}


两个代码相对比是不是比之前简单很多了,接下来小编要简单提一下Lambda表达式的标准格式,主要由三部分组成:一些参数、一个箭头、一段代码。

格式:

(参数列表)->{一些重要方法的代码};

解释说明格式:

():接口中抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数用逗号分隔。

->:传递的意思,把参数传递给方法体{}

{}:重写接口的方法体

关于Lambda表达式,定义一个无参数无返回值的方法,还有它的一些基本格式。小编就先说到这里,希望这篇文章可以帮到大家,也欢迎各位小伙伴补充和纠错。