各位看官们大家好,上一回中咱们说的是Java中Lambda的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!
看官们,我们在上一回中提到了匿名函数依赖于接口,在本章回中主要讨论匿名函数的依赖的接口,它有一个专用的名字叫作函数式接口,大家可能在有些代码的注释中见到过@FunctionInterface
这样的标记,这说明该接口是一个函数式接口,匿名函数就是依赖于这样的接口,该接口最大的特点就是只有一个函数。
Java程序中最典型的函数式接口就是Runnable
接口,因为它只有一个run
函数。我们接下来通过具体的代码来说明:
- 1.首先启动一个线程,代码如下:
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("thread A is running");
}
}).start();
- 2.我们把它换成匿名函数,代码如下:
new Thread(()->System.out.println("thread B is running")).start();
我们把它放到main函数中,下面是完整的代码:
import java.lang.Thread;
public class Lambda {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("thread A is running");
}
}).start();
new Thread(()->System.out.println("thread B is running")).start();
}
下面是程序的运行结果:
thread A is running
thread B is running
从程序中可以看出,使用匿名函数的代码很精练。其实匿名函数是从匿名类对象演变而来的。大家如果无法理解匿名函数的话,可以想想这个例子,想想它的演变。
各位看官,关于Java中Lambda的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!