Lambda表达式

 

 

 

 

 

 

/**
* Lamdab推导
*/
public class TestLamdba1 {

//3.静态内部类(写在方法外)
static class Like2 implements Ilike{
@Override
public void lamdba() {
System.out.println("I like lamdba2");
}
}

public static void main(String[] args) {
//之前的写法
Ilike like = new Like();
// like.lamdba();

//4.局部内部类(写在方法中)
class Like3 implements Ilike{
@Override
public void lamdba() {
System.out.println("I like lamdba3");
}
}

//5.匿名内部类。没有类的名字
like = new Ilike() {
@Override
public void lamdba() {
System.out.println("I like lamdba4");
}
};

//6.用Lamdba简化
like = ()->{
System.out.println("I like lamdba5");
};
like.lamdba();

}

}

//1.定义接口。只有一个方法的接口称为:函数式接口
interface Ilike{
void lamdba();
}

//2.定义实现类
class Like implements Ilike{
@Override
public void lamdba() {
System.out.println("I like lamdba");
}
}

/**
* Lamdba再简化
*/
public class TestLamdba2 {

public static void main(String[] args) {
//正常lamdba
Ilove love = (int a) -> {
System.out.println("I love you---->"+a);
};

//简化1.参数类型(多个参数时,要去掉都去掉)
Ilove love2 = (a) -> {
System.out.println("I love you---->"+a);
};

//简化2.去掉括号(适用用只有一个参数)
Ilove love3 = a -> {
System.out.println("I love you---->"+a);
};

//简化3.去掉大括号(适用于逻辑只有一行)
Ilove love4 = a -> System.out.println("I love you---->"+a);

love4.love(3);
}
}

//定义函数式接口
interface Ilove{
void love(int a);
}
posted @   花田007  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示