1. 程式人生 > 其它 >多執行緒之lamda表示式

多執行緒之lamda表示式

程式碼簡化過程
public class TestLambda1 {

//3、靜態內部類
static class Like2 implements ILike{
@Override
public void lambda() {
System.out.println("你好啊,我的朋友2");
}
}

public static void main(String[] args) {

ILike iLike = new Like();
iLike.lambda();

Like2 like = new Like2();
like.lambda();

//4、區域性內部類
class Like3 implements ILike{
@Override
public void lambda() {
System.out.println("你好啊,我的朋友3");
}
}
Like3 like3 = new Like3();
like3.lambda();

//匿名內部類,沒有類的名稱,必須藉助介面或者父類
ILike like4 = new ILike() {
@Override
public void lambda() {
System.out.println("你好啊,我的朋友4");
}
};
like4.lambda();

//lambda表示式
ILike like5 = ()-> System.out.println("你好啊,我的朋友5");
like5.lambda();
}
}

//1、定義一個函式介面類
interface ILike {
void lambda();
}

//2、實現類
class Like implements ILike{
@Override
public void lambda() {
System.out.println("你好啊,我的朋友1");
}
}
多引數lamda表示式
public class TestLambda2 {
public static void main(String[] args) {

ILove love = null;

love = (a,b,c)->{
System.out.println("i love you "+ a + b + c);
};

//總結:
//lambda表示式只有一行程式碼的情況下才能簡化成一行,如果有多行,就要用程式碼塊包裹
//前提是介面為函式式介面
//多個引數也可以去掉引數型別,要去掉就要都去掉,必須加上括號

love.love(520,521,1314);
}
}

interface ILove {
void love(int a,int b,int c);
}