Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
70 lines (61 loc) · 1.9 KB

File metadata and controls

70 lines (61 loc) · 1.9 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
64
65
66
67
68
69
####1. lambda解决的问题
* java不能函数式编程
* java匿名内部类只能单线程运行
* 匿名内部类缺陷
1. 语法复杂
2. this容易混淆
3. 不能引用外部变量
4. 不能抽象化来控制流程
####2. Lambda实现匿名内部类
* 在lambda中可以使用方法内部变量但是不能改变它的值i++报错
```
package com.fantJ.JAVA_8;
/**
* Created by Fant.J.
* 2017/12/12 20:58
*/
public class Lambda_Runnable {
public static void main(String[] args) {
new Runnable(){
@Override
public void run(){
System.out.println("匿名内部类实现Runnable接口");
}
}.run();
int i = 1;
Runnable r=()->{
System.out.println("lambda实现Runnable接口");
System.out.println("i="+i); //测试是否可以使用方法内部变量 (匿名内部类只可以使用常量)
//i++; //报错
};
r.run();
}
}
```
![image.png](http://upload-images.jianshu.io/upload_images/5786888-034dab23f831bd69.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####3. Lambda实现自定义接口
```
package com.fantJ.JAVA_8;
/**
* Created by Fant.J.
* 2017/12/12 21:11
*/
public class Lambda_Interface {
public static void main(String[] args) {
new Message() {
@Override
public void message(String msg) {
System.out.println(msg); //打印传参 msg
}
}.message("用匿名内部类调用自定义的接口");
Message m = (String msg) -> {
System.out.println(msg);
};
m.message("lambda 调用自定义接口");
}
static interface Message {
void message(String msg);
}
}
```
![image.png](http://upload-images.jianshu.io/upload_images/5786888-2c596b4f8c7ff2fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.