当前位置: 首页 > news >正文

建设主管部门官方网站模板自助建站

建设主管部门官方网站,模板自助建站,网站logo设计思路,Iis wordpress无法发表文章Lambda表达式 Lambda表达式函数式编程思想概述Lambda表达式的标准格式Lambda表达式练习练习1练习2练习3 Lambda表达式的省略模式Lambda表达式的注意事项Lambda表达式与接口的区别 Lambda表达式 函数式编程思想概述 面向对象思想强调“必须通过对象的形式做事” 在函数式思想中…

Lambda表达式

  • Lambda表达式
    • 函数式编程思想概述
    • Lambda表达式的标准格式
    • Lambda表达式练习
      • 练习1
      • 练习2
      • 练习3
    • Lambda表达式的省略模式
    • Lambda表达式的注意事项
    • Lambda表达式与接口的区别

Lambda表达式

函数式编程思想概述

面向对象思想强调“必须通过对象的形式做事”
在函数式思想中尽量忽略面向对象的复杂语法:“强调做什么,而不是什么形式做”

Lambda表达式的标准格式

  • ()里面为空,可以看成是方法的形参为空
  • -> 用箭头指向后面要做的事
  • {} 包含一段代码,称为代码块,可以看成是方法体中的内容
    三要素:形式参数、箭头、代码块
    (形式参数)->{代码块}

Lambda表达式练习

Lambda表达式使用的前提条件

  • 有一个接口
  • 接口中有且仅有一个抽象方法

练习1

  • 定义一个接口(Eatable),里面定义一个抽象方法: void eat()
  • 定义一个测试类(EatableDemo),在测试类中提供两个方法
    • 一个 方法是:useEatable(Eatable e)
    • 一个方法是主方法,在主方法中调用useEatable方法

创建接口

public interface Eatable {void eat();
}

创建实现类

public class EatableImpl implements Eatable{@Overridepublic void eat(){System.out.println("CC吃我的屎!");}
}

创建测试类

public class EatableDemo {public static void main(String[] args){//实现类Eatable e=new EatableImpl();useEatable(e);//匿名内部类useEatable(new Eatable() {@Overridepublic void eat() {System.out.println("CC吃我的屁!");}});//Lambda表达式useEatable(()->{System.out.println("CC吃我的大便!");});}private static void useEatable(Eatable e){e.eat();}
}

练习2

  • 定义一个接口(Flyable),里面定义一个抽象方法: void fly(String s)
  • 定义一个测试类(FlyableDemo),在测试类中提供两个方法
    • 一个是useFlyable(Flyable f)
    • 一个是主方法调用useFlyable方法
      定义接口
public interface Flyable {void fly(String s);
}

测试类

public class FlyableDemo {public static void main(String[] args){//匿名内部类useFlyable(new Flyable() {@Overridepublic void fly(String s) {System.out.println(s);System.out.println("把CC屁股打烂!");}});//LambdauseFlyable((String s)->{System.out.println(s);System.out.println("把CC活打死!");});}private static void useFlyable(Flyable f){f.fly("飞飞飞");}
}

练习3

  • 定义一个Addable接口,里面定义一个抽象方法:int add(int x,int y)
  • 定义一个AddableDemo测试类包含
    • useAddable(Addable a)
    • 主方法调用useAddable

创建接口

public interface Addable {int add(int x,int y);
}

测试类

public class AddableDemo {public static void main(String[] args) {useAddable((int x,int y)->{return x+y;});}private static void useAddable(Addable a){int res=a.add(10,20);System.out.println(res);}
}

Lambda表达式的省略模式

  • 参数的类型可以省略,有多个不能只省略一个
  • 如果参数有且仅有一个,小括号可以省略
  • 如果代码块只有一行,可以省略大括号和分号(有return也需要省略)
public class LambdaDemo {public static void main(String[] args) {
//        useAddable((int x,int y)->{
//            return x+y;
//        });//参数的类型可以省略,不能只省略一个useAddable((x, y)->{return x+y;});//如果参数有且仅有一个,小括号可以省略useFlyable(s->{System.out.println(s);System.out.println("把CC活打死!");});//如果代码块只有一行,可以省略大括号和分号(有return也需要省略)useFlyable(s-> System.out.println(s));}public static void useFlyable(Flyable f){f.fly("飞飞飞");}private static void useAddable(Addable a){int res=a.add(10,20);System.out.println(res);}
}

Lambda表达式的注意事项

  • 必须要有接口,并且接口中有且只有一个抽象接口
  • 必须有上下文环境,才能推导出Lambda接口
    • 根据局部变量的赋值得知lambda对应的接口:Runnable r=()->System.out.println(“Lambda表达式”);
    • 根据调用方法的参数得知lambda对应的接口:new Thread(()->System.out.println(“Lambda表达式”)).start();

Lambda表达式与接口的区别

所需类型不同

  • 匿名内部类:可以是接口也可以是抽象类,还可以是具体类
  • Lambda表达式:只能是接口
    使用限制不同
  • 如果接口中有且只有一个抽象方法,可以使用Lambda表达式,也可以使用匿名内部类
  • 如果接口中多于一个抽象方法,只能用匿名内部类,不能用Lambda表达式
    实现原理不同
  • 匿名内部类编译后,产生一个单独的.class字节码文件
  • Lambda编译之后没有单独的.class字节码文件。对用的字节码会在运行的时候动态生成
http://www.ds6.com.cn/news/79637.html

相关文章:

  • 设计班级网站建设百度官网认证多少钱一年
  • 杭州电子网站建设方案深圳网络推广哪家好
  • 网站备案 取名资讯通不过网站关键字排名优化
  • 网站建设方案报价单营销网点机构号
  • 做网站用什么牌子电脑网站之家查询
  • 链天网站建设请简述网络营销的特点
  • 网站开发先前台和后台网上营销型网站
  • linux把wordpress临沂seo优化
  • pc网站建设的三大条件如何做个人网站
  • 做分类信息网站模板楚雄百度推广电话
  • 视频网站点击链接怎么做的企业网站推广方案
  • 站酷设计网站官企业营销模式
  • 广州腾虎网络网站建设高级搜索技巧
  • 大连哪里有手机自适应网站建设传播易广告投放平台
  • c#做交易网站手机一键优化
  • APP加网站建设预算多少钱英语培训机构前十名
  • 苹果手机如何添加网站职业培训机构资质
  • 网站开发用什么语言好企业培训内容有哪些
  • 网络架构图莱阳seo排名
  • 中国做的比较好的网站设计公司有哪些百度推广登陆平台登录
  • 如何做seo网站产品设计
  • vb可以做网站吗广告主广告商对接平台
  • 网站服务器站点是什么意思深圳网络推广外包
  • wordpress外贸网站模板旺道seo推广
  • 网站后台程序下载青岛网站制作推广
  • 自建html怎么融入wordpressseo流量增加软件
  • json取数据做网站培训班招生方案
  • 新乐做网站优化seo代做
  • 网站建设需要什么优秀的网页设计网站
  • css怎么做网站横向菜单金华seo扣费