0%

多线程

多线程

继承Thread类

继承Runable接口,重写run()方法。

继承Callable接口,重写call()方法。

Lambda表达式

为什么需要使用Lambda表达式:

​ 1 避免匿名内部类定义过多

​ 2 代码更加简洁

​ 3 去掉多于代码,只留下核心逻辑代码

什么是函数式接口:有且只有一个抽象方法的接口;所有的函数式接口都可以用Lambda表达式代替

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/**
* @author hth
* @date 2021-02-10-0:05
*
*
* 为什么需要使用Lamda表达式:1 避免匿名内部类定义过多
* 2 代码更加简洁
* 3 去掉多于代码,只留下核心逻辑代码
*/
public class LamdaTest {

//静态内部类
static class he2 implements Like{

@Override
public void iLike() {
System.out.println("I like you2");
}
}

public static void main(String[] args){
Like li = new he();
li.iLike();
li = new he2();
li.iLike();

//局部内部类
class he3 implements Like{
@Override
public void iLike() {
System.out.println("I like 局部内部类");
}
}
li = new he3();
li.iLike();

//匿名内部类
li = new Like() {
@Override
public void iLike() {
System.out.println("i like 匿名");
}
};
li.iLike();

//Lambda表达式
li = ()->System.out.println("i like Lambda");
li.iLike();
}
}

//定义一个函数式接口
interface Like{
void iLike();
}

class he implements Like{

@Override
public void iLike() {
System.out.println("I like you");
}
}