java8 新特性Lambda表达式之基础语法
作者:互联网
学习完Lambda表达式的简介之后,大概对java8 新特性Lambda表达式有所认识了
接着呢 我们从最基础的接口实现开始学习,对比一下 java8之前和之后 有啥区别
从六种不同的接口的实现 进行对比 这样更全面的认识与学习
1.1有一个参数与有返回值的接口
@FunctionalInterface
public interface HavePararmHaveReturn {
int Lambad(int a);
}
1.2有一个参数与有返回值的实现
import LambadExpersion.Interface.HavePararmHaveReturn;
public class LambadImpl1 implements HavePararmHaveReturn{
有一个参数与有返回值 普通实现方式
public int Lambad(int a) {
return a*3;
}
public static void main(String[]ags) {
有一个参数与有返回值 普通实现方式
HavePararmHaveReturn impl1=new LambadImpl1();
System.out.println(impl1.Lambad(2));
有一个参数与有返回值 Lambad基础实现方式
HavePararmHaveReturn impl2=(int a)->{return a*3;};
System.out.println(impl2.Lambad(2));
//有参数与有返回值 Lambad进阶实现方式
HavePararmHaveReturn impl3= a -> a*3;
System.out.println(impl3.Lambad(2));
}}
2.1有一个参数与无返回值接口
@FunctionalInterface
public interface HavePararmNoReturn {
void Lambad(int a);
}
2.2有一个参数与无返回值实现
import LambadExpersion.Interface.HavePararmNoReturn;
public class LambadImpl2 implements HavePararmNoReturn{
有一个参数与没有返回值 普通实现方式
public void Lambad(int a) {
System.out.println("HavePararmNoReturn"+a);
}
public static void main(String[]ags) {
有一个参数与没有返回值 普通实现方式
HavePararmNoReturn impl1=new LambadImpl2();
impl1.Lambad(2);
有一个参数与没有返回值 Lambad基础实现方式
HavePararmNoReturn impl2=(int a)->{System.out.println("HavePararmNoReturn"+a);};
impl2.Lambad(2);
有一个参数与没有返回值 Lambad进阶实现方式-->单个参数的时候 可以把外面的()小括号去掉 代码块中执行语句只有一句的话 可以把{}花括号去掉
HavePararmNoReturn impl3= a -> System.out.println("HavePararmNoReturn"+a);
impl3.Lambad(2);}}
3.1有多个参数与有返回值接口
@FunctionalInterface
public interface HavePararmsHaveReturn {
int Lambad(int a,int b);
}
3.2有多个参数与有返回值实现
import LambadExpersion.Interface.HavePararmsHaveReturn;
public class LambadImpl3 implements HavePararmsHaveReturn{
有多个参数与有返回值 普通实现方式
public int Lambad(int a,int b) {
return a*b;
}
public static void main(String[]ags) {
有多个参数与有返回值 普通实现方式
HavePararmsHaveReturn impl1=new LambadImpl3();
System.out.println(impl1.Lambad(2,3));
有多个参数与有返回值 Lambad基础实现方式
HavePararmsHaveReturn impl2=(int a,int b)->{return a*b;};
System.out.println(impl2.Lambad(2,3));
有多个参数与有返回值 Lambad进阶实现方式
HavePararmsHaveReturn impl3=(a,b) -> a*b;
System.out.println(impl3.Lambad(2,3));
}}
4.1有多个参数与没有返回值的接口
@FunctionalInterface
public interface HavePararmsNoReturn {
void Lambad(int a,int b);
}
4.2有多个参数与没有返回值的实现
import LambadExpersion.Interface.HavePararmsNoReturn;
public class LambadImpl4 implements HavePararmsNoReturn{
有多个参数与没有返回值 普通实现方式
public void Lambad(int a,int b) {
System.out.println(a*b);
}
public static void main(String[]ags) {
有多个参数与没有返回值 普通实现方式
HavePararmsNoReturn impl1=new LambadImpl4();
impl1.Lambad(2,3);
有多个参数与没有返回值 Lambad基础实现方式
HavePararmsNoReturn impl2=(int a,int b)->{System.out.println(a*b);};
impl2.Lambad(2,3);
有多个参数与没有返回值 Lambad进阶实现方式
HavePararmsNoReturn impl3=(a,b)-> System.out.println(a*b);
impl3.Lambad(2,3);
}
5.1没有参数与有返回值接口
@FunctionalInterface
public interface NoPararmHaveReturn {
int Lambad();
}
5.2没有参数与有返回值实现
import LambadExpersion.Interface.NoPararmHaveReturn;
public class LambadImpl5 implements NoPararmHaveReturn{
没有参数与有返回值 普通实现方式
public int Lambad() {
return 3;
}
public static void main(String[]ags) {
没有参数与有返回值 普通实现方式
NoPararmHaveReturn impl1=new LambadImpl5();
System.out.println(impl1.Lambad());
没有参数与有返回值 Lambad基础实现方式
NoPararmHaveReturn impl2=()->{return 3;};
System.out.println(impl2.Lambad());
没有参数与有返回值 Lambad进阶实现方式
NoPararmHaveReturn impl3=()->3;
System.out.println(impl3.Lambad());
}}
6.1没有返回值与没有参数接口
@FunctionalInterface
public interface NoPararmNoReturn {
void Lambad();
}
6.2没有返回值与没有参数实现
import LambadExpersion.Interface.NoPararmNoReturn;
public class LambadImpl6 implements NoPararmNoReturn{
没有参数与没有返回值 普通实现方式
public void Lambad() {
System.out.println("无参数无返回值");
}
public static void main(String[]ags) {
没有参数与没有返回值 普通实现方式
NoPararmNoReturn impl1=new LambadImpl6();
impl1.Lambad();
没有参数与没有返回值 Lambad基础实现方式
NoPararmNoReturn impl2=()->{System.out.println("无参数无返回值");};
impl2.Lambad();
没有参数与没有返回值 Lambad进阶实现方式
NoPararmNoReturn impl3=()->System.out.println("无参数无返回值");
impl3.Lambad();
}
}
标签:Lambad,int,java8,参数,println,返回值,public,表达式,Lambda 来源: https://blog.csdn.net/m0_37871296/article/details/94585935