Lambda表达式
Functional Interface(函数式接口)
任何接口,如果只包含唯一一个抽象方法。
public interface Runnable{
public abstract void run();
}
普通方法
public class TestLambda{
psvm{
Ilove love = new Love();
love.love(2);
}
}
Interface Ilove{
void love(int a);
}
class Love implements Ilove{
@override
public void love(int a){
sout("i love you elly"+a);
}
}
// 注意:接口 对象 = new 接口实现类();
// 注意:接口 对象 = new 接口实现类();
静态内部类
public class TestLambda{
static class Love implements Ilove{
@override
public void love(int a){
sout("i love you elly"+a);
}
}
psvm{
Ilove love = new Love();
love.love(2);
}
}
Interface Ilove{
void love(int a);
}
// 注意:静态+static
局部内部类
public class TestLambda{
psvm{
class Love implements Ilove{
@override
public void love(int a){
sout("i love you elly"+a);
}
}
Ilove love = new Love();
love.love(2);
}
}
Interface Ilove{
void love(int a);
}
匿名内部类
public class TestLambda{
psvm{
Ilove love = new ILove(){
@override
public void love(int a){
sout("i love elly"+a);
}
}
love.love(2);
}
}
Interface Ilove{
void love(int a);
}
// 匿名内部类中 |||| 接口 对象 = new 接口() {}
lambda 表达式
public class TestLambda{
psvm{
Ilove love = (int a)->{
sout("i love elly"+a);
}
love.love(2);
}
}
Interface Ilove{
void love(int a);
}
// lambda表达式含义:接口 对象 = (接口函数中的参数)->{具体实现};
thx to 狂神说java