Lambda表达式:
函数式接口的定义:
任何接口,如果只包含唯一一个抽象的方法,那么他就是一个函数式接口。
对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。
package com.lipu.lambda; /* * 推导lambda表达式 * */ public class TestLambda1 { //2.静态内部类 static class Like2 implements ILike{ @Override public void lambda(){ System.out.println("i like lambda2"); } } public static void main(String[] args) { ILike like = new Like();//此处在使用like的时候定义了其为ILike like.lambda(); like =new Like2(); like.lambda(); //3.局部类 class Like3 implements ILike{ @Override public void lambda(){ System.out.println("i like lambda3"); } } like =new Like3(); like.lambda(); //用lambda简化类似js中的箭头函数 like=()->{ System.out.println("这是箭头函数"); }; like.lambda(); } } //1.定义一个接口 interface ILike{ void lambda(); } class Like implements ILike{ @Override public void lambda(){ System.out.println("i like lambda"); } }
注意:此处使用的为lambda(),其实可以为任意的名称方法。
再举一个例子:
package com.lipu.lambda; public class TestLambda2 { public static void main(String[] args) { ILove love=(int a)->{ //类似方法重写 使用love前定义了为ILove System.out.println("这是箭头函数"+a); }; love.love(1); } } interface ILove{ void love(int a); }
原文:https://www.cnblogs.com/lipu12281/p/12193970.html