Lamda表达式推理学习
我们要实现一个方法 一般有以下几种操作:
- 定义外部类,调用该接口
- 静态内部类
- 局部内部类
- 匿名内部类
- lambda 表达式
由上至下,每一层都要简易许多。
1. 定义外部类,调用该接口:
public class Lambda {
// 主方法main
public static void main(String[] args) {
// 显示定义的一个like
ILike like = new Like();
like.lambda();
}
}
// 定义一个lambda1S的函数式接口
interface ILike {
void lambda ();
}
2. 静态内部类
public class Lambda {
// 静态内部类
static class Like2 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda2!");
}
}
// 主方法main
public static void main(String[] args) {
// 显示定义的一个like2
ILike like2 = new Like2();
like2.lambda();
}
}
// 定义一个lambda1S的函数式接口
interface ILike {
void lambda ();
}
// 定义外部类,调用该接口
class Like implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda!");
}
}
汇总解释:
public class Lambda {
// 静态内部类
static class Like2 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda2!");
}
}
// 主方法main
public static void main(String[] args) {
// 显示定义的一个like
ILike like = new Like();
like.lambda();
// 显示定义的一个like2
ILike like2 = new Like2();
like2.lambda();
// 局部内部类
class Like3 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda3!");
}
}
// 显示定义的一个like2
ILike like3 = new Like3();
like3.lambda();
// 匿名内部类
like = new ILike() {
@Override
public void lambda() {
System.out.println("I like lambda4!");
}
};
like.lambda();
// lambda 表达式
like = () -> {
System.out.println("I like lambda4!");
};
like.lambda();
}
}
// 定义一个lambda1S的函数式接口
interface ILike {
void lambda ();
}
// 定义外部类,调用该接口
class Like implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda!");
}
}