public class demo_Lambda {
public static void main(String[] args) {
String str = "computer";
//第一种实现方式
Play play = new PlayImpl();
play.play(str);
//第二种实现方式-->匿名内部类
Play play2 = new Play() {
@Override
public void play(String thing) {
System.out.println("玩 -->"+thing);
}
};
play2.play(str);
/**
* 注意:匿名内部类在编译时会产生一个类,但是 Lambda表达式不会
*/
//第三种实现方式-->即用于代替匿名内部类的Lambda表达式(也称为 '闭包'),参数类型可以省略
Play play3 = (thing)->{
System.out.println("玩 -->"+thing);
};
play3.play(str);
//带返回值的例子
Eat eat = (num)->{
System.out.println("吃 -->"+num + "个大鼻兜子!");
return num+1;
};
System.out.println(eat.eat(3));
//如果只返回,只有一句返回代码,则return都不用写
Eat eat2 = (num)-> num+1;
System.out.println(eat2.eat(3));
}
}
//只有一个抽象方法的接口
interface Play{
public void play(String thing);
}
//实现类
class PlayImpl implements Play{
public void play(String thing){
System.out.println("玩 -->"+thing);
}
}
/**
* 带返回值的例子
*/
interface Eat{
public int eat(int num);
}
铂西学习日记---Lambda表达式基本语法
最新推荐文章于 2024-10-01 09:29:45 发布