Lambda表达式可以对某些接口进行简单的实现,但不是所有的节后都可以使用Lambda表达式去实现
Lambda规定中接口只能有一个被需要实现的方法,就可以使用(JDK8以后接口可以有多个方法)
package com.test.lambda;
public class Test {
public static void main(String[] args) {
/*匿名内部类*/
var noRrturnNoParam1 = new NoRrturnNoParam() {
@Override
public void method() {
System.out.println("我是匿名内部类");
}
};
noRrturnNoParam1.method();
System.out.println("------------------------");
NoRrturnNoParam noRrturnNoParam2 = () -> {
System.out.println("我是Lambda的无参无返回值接口实现");
};
noRrturnNoParam2.method();
System.out.println("------------------------");
OneParamNoRrturn oneParamNoRrturn = (int a) -> {
System.out.println("我是Lambda的一个参数无返回值接口的实现" + a);
};
oneParamNoRrturn.method(88);
System.out.println("------------------------");
MuilParamNoRrturn muilParamNoRrturn = (int a, int b) -> {
System.out.println("我是Lambda的多个参数无返回值接口的实现" + a + "--" + b);
};
muilParamNoRrturn.method(88,99);
System.out.println("------------------------");
NoParamRrturn noParamRrturn = () ->{
System.out.println("我是Lambda的无参有返回值接口实现");
return 1;
};
noParamRrturn.method();
System.out.println("------------------------");
OneParamRrturn oneParamRrturn = (int a) -> {
System.out.println("我是Lambda的有一个参有返回值接口实现" + a);
return 1;
};
oneParamRrturn.method(88);
System.out.println("------------------------");
MuilParamRrturn muilParamRrturn = (int a, int b) ->{
System.out.println("我是Lambda的有多个参有返回值接口实现" + a + "--" + b);
return 1;
};
muilParamRrturn.method(88,99);
}
}
/*无参数无返回值的接口*/
interface NoRrturnNoParam{
void method();
}
/*有一个参数无返回值的接口*/
interface OneParamNoRrturn{
void method(int a);
}
/*多个参数无返回值的接口*/
interface MuilParamNoRrturn{
void method(int a, int b);
}
/*无参数有返回值的接口*/
interface NoParamRrturn{
int method();
}
/*有一个参数有返回值的接口*/
interface OneParamRrturn{
int method(int a);
}
/*有多个参数有返回值的接口*/
interface MuilParamRrturn{
int method(int a, int b);
}