几个概念
- 匿名内部类(待补充)
- 函数式接口
接口定义中,有且只有一个抽象方法(可以包含多个非抽象方法)
- Lambda表达式
用来简化函数式接口的一中java语法
示例代码
package com.company;
// 函数式接口:接口中有且只有一个抽象方法,可以包含其他非抽象方法
//
interface GreetingService {
public abstract void sayHello();
}
// Lambda 表达式
// 相关概念:匿名内部类、函数接口
public class Lambda {
public static void main(String[] args) {
// Thread 接收一个 Runnable类型的
// new Runnable() 称为匿名内部类
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("run");
}
}).start();
// Lambda 表达式
// 能够简化匿名内部类的用法
new Thread(()->{
System.out.println("Thread 2 run");
}).start();
// jdk 7之前的写法
GreetingService greetingService = new GreetingService() {
@Override
public void sayHello() {
System.out.println("hello interface");
}
};
greetingService.sayHello();
// jdk8 之后可以这么写
GreetingService greetingService1 = ()->System.out.println("hello Lambda");
greetingService1.sayHello();
}
}
网友评论