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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值