潍坊网站建设方案咨询,腾讯云 部署wordpress,重庆网站推广效果,互联网门户网站推导lambda表达式
Lambda表达式#xff0c;避免匿名内部类定义过多#xff0c;其实质属于函数式编程的概念#xff1b; 去掉一些没有意义的代码#xff0c;只留下核心代码#xff1b; 当前接口为函数式接口#xff08;任何一个接口#xff0c;如果只包含唯一一个抽象方…推导lambda表达式
Lambda表达式避免匿名内部类定义过多其实质属于函数式编程的概念 去掉一些没有意义的代码只留下核心代码 当前接口为函数式接口任何一个接口如果只包含唯一一个抽象方法那么他就是一个函数式接口,可以通过Lambda表达式来创建该接口的对象1、实习类接口实现类主线程调用抽象方法2、静态内部类(注意加static) 接口静态内部类实现接口主线程调用抽象方法3、局部内部类接口主线程内实现接口内部调用抽象方法4、匿名内部类没有类的名称必须借助接口或父类接口主线程内实现接口没有创建实现类而是直接新建一个对象实现接口内部调用抽象方法5、Lambda表达式接口主线程内实现接口(当前为函数式接口只有一个抽象方法直接新建接口对象实现抽象方法)内部调用抽象方法
package com.zeng.demo01;
/*
推导lambda表达式
*/
public class TextLambda01 {//3、静态内部类(注意加static)【简化一版】static class Like2 implements ILike{Overridepublic void lambda() {System.out.println(i like Lambda2);}}public static void main(String[] args) {ILike iLike new Like();//实例化对象iLike.lambda();iLike new Like2();iLike.lambda();//4、局部内部类【简化二版】class Like3 implements ILike{Overridepublic void lambda() {System.out.println(i like Lanbda3);}}iLikenew Like3();iLike.lambda();//5、匿名内部类没有类的名称必须借助接口或父类【简化三版】iLikenew ILike() {Overridepublic void lambda() {System.out.println(i like Lambda4);}};iLike.lambda();//6、用Lambda简化【简化四版】对于函数式接口可以用Lambda表达式来创建该接口的对象iLike()-{System.out.println(i like Lambda5);};iLike.lambda();}
}
//1、定义一个函数式接口只包含唯一一个抽象方法
interface ILike{void lambda();
}
//2、实现类
class Like implements ILike{Overridepublic void lambda() {System.out.println(i like Lambda);}
}
练习Lambda表达式
总结 Lambda表达式当在只有一行代码的情况下才能简化成一行代码如果有多行代码那么就用代码块包裹 前提是接口为函数式接口 多个参数也可以去掉参数类型要去掉都去掉必须加括号。
package com.zeng.demo01;public class TestLambda02 {//2、静态内部类
// static class Love implements ILove{
// Override
// public void love(int a) {
// System.out.println(i love you--a);
// }
// }public static void main(String[] args) {//3、局部内部类将类放到方法体里面
// class Love implements ILove{
// Override
// public void love(int a) {
// System.out.println(i love you--a);
// }
// }//前三种需用到此方法// ILove love new Love();//4、匿名内部类没有方法用接口实现
// ILove lovenew ILove() {
// Override
// public void love(int a) {
// System.out.println(I love you--》a);
// }
// };//5、Lambda表达式(方法里有参数)
// ILove love(int a)-{
// System.out.println(I love you--a);
// };//5.1 Lambda表达式(去掉参数返回类型)
// ILove love(a)-{
// System.out.println(I love you--a);
// };//5.2 Lambda表达式(简化括号)
// ILove lovea-{
// System.out.println(I love you--a);
// };//5.3 Lambda表达式去掉花括号)ILove lovea-System.out.println(I love you--a);love.love(520);//总结// lambda表达式当在只有一行代码的情况下才能简化成一行代码如果有多行代码那么就用代码块包裹//前提是接口为函数式接口//多个参数也可以去掉参数类型要去掉都去掉必须加括号}
}
interface ILove{void love(int a);
}
//1、实现类
//class Love implements ILove{
//
// Override
// public void love(int a) {
// System.out.println(i love you--a);
// }
//}