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

昆明网站建设yn119可以发外链的网站整理

昆明网站建设yn119,可以发外链的网站整理,中铁建设门户网登录入口手机端,网页设计草图大学生目录1 Lambda表达式1.1 函数式编程思想概括1.2 Lambda表达式标准格式1.3 Lambda表达式练习1(抽象方法无参无返回值)1.4 Lambda表达式练习2(抽象方法带参无返回值)1.5 Lambda表达式练习2(抽象方法带参带返回值&#xff…

目录

    • 1 Lambda表达式
      • 1.1 函数式编程思想概括
      • 1.2 Lambda表达式标准格式
      • 1.3 Lambda表达式练习1(抽象方法无参无返回值)
      • 1.4 Lambda表达式练习2(抽象方法带参无返回值)
      • 1.5 Lambda表达式练习2(抽象方法带参带返回值)
      • 1.5 Lambda表达式省略模式
      • 1.6 Lambda表达式注意事项
      • 1.7 Lambda表达式和匿名内部类的区别

1 Lambda表达式

1.1 函数式编程思想概括

  • 在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”
  • 面向对象思想强调“必须通过对象的形式来做事情”
  • 函数式思想则尽量忽略面向对象的复杂语法:“强调做什么, 而不是以什么形式去做”
  • 而我们要学习的L ambda表达式就是函数式思想的体现

体验Lambda表达式

  • 需求:启动一个线程在控制台输出一句话线程启动了
    在这里插入图片描述
package test;public class Demo {public static void main(String[] args)  {//实现类的方式
//        MyRunnable mr  = new MyRunnable();
//        Thread t  = new Thread(mr);
//        t.start(); //多线程程序启动//匿名内部类改进
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                System.out.println("多线程程序启动"); //多线程程序启动
//            }
//        }).start();//Lambda表达式改进new Thread( () ->{System.out.println("多线程程序启动"); //多线程程序启动}).start();}
}

1.2 Lambda表达式标准格式

在这里插入图片描述

  • 组成Lambda表达式的三要素:形式参数,箭头,代码块
  • Lambda表达式的格式
    • 格式:(形式参数) -> {代码块}
    • 形式参数:如果有多个参数,参数之间用逗号隔开;如果没有参数,留空即可
    • ->:由英文中画线和大于符号组成,固定写法。代表指向动作
    • 代码块: 是我们具体要做的事情,也就是以前我们写的方法体内容

1.3 Lambda表达式练习1(抽象方法无参无返回值)

  • Lambda表达式使用提前
    • 有一个接口
    • 接口中有且只有一个抽象方法

在这里插入图片描述

  • 接口
package test;public interface Eatable {void eat();
}
  • 测试:
package test;public class Demo {public static void main(String[] args)  {useEatable(()->{System.out.println("吃苹果"); //吃苹果});}private static void useEatable(Eatable e) {e.eat();}
}

1.4 Lambda表达式练习2(抽象方法带参无返回值)

在这里插入图片描述

  • 测试类
package test;public class Demo {public static void main(String[] args)  {//匿名内部类useFLyable(new FLyable() {@Overridepublic void fly(String s) {System.out.println(s);System.out.println("飞机也在飞");
//                鸟在飞
//                飞机也在飞}});//Lambda表达式useFLyable((String s)->{System.out.println(s);System.out.println("飞机也在飞");
//                鸟在飞
//                飞机也在飞});}private static void useFLyable(FLyable f) {a.fly("鸟在飞");}
}

1.5 Lambda表达式练习2(抽象方法带参带返回值)

在这里插入图片描述

  • 测试类
package test;public class Demo {public static void main(String[] args)  {useAddable((int x,int y)->{return x + y; //30
//            return x -y ; //-10});}private static void useAddable(Addable a) {int sum = a.add(10, 20);System.out.println(sum);}
}

1.5 Lambda表达式省略模式

  • 省略规则

    • 参数类型可以省略。 但是有多个参数的情况下,不能只省略一个
    • 如果参数有且仅有一个,那么小括号可以省略
    • 如果代码块的语句只有一条,可以省略大括号和分号,甚至是returm
  • 范例

package test;public class Demo {public static void main(String[] args)  {//参数类型可以省略useAddable((x,y) -> {return x + y; //30});//有多个参数的时候不能只省略一个
//        useAddable((x,int y)->{ //y报错
//            return x + y;
//        });//        useFLyable((s)->{
//            System.out.println(s); //鸟在飞
//        });//如果参数只有一个小括号也可以省略useFLyable(s ->{System.out.println(s); //鸟在飞});//如果代码块语句只有一条,可以省略大括号和分号useFLyable(s -> System.out.println(s));//鸟在飞//如果代码块语句只有一条,可以省略大括号和分号;如果有return,return也要省略useAddable((x,y) -> x + y); //30}private static void useAddable(Addable a) {int sum = a.add(10, 20);System.out.println(sum);}private static void useFLyable(FLyable f) {f.fly("鸟在飞");}
}

1.6 Lambda表达式注意事项

  • 使用Lambda必须要有接口, 并且要求接口中有且仅有一个抽象方法
  • 必须有上下文环境,才能推导出Lambda对应的接口
    • 根据局部变量的赋值得知ambda对应的接口: Runnable r= () -> System.out.printn("Lambda表达式");
    • 根据调用方法的参数得知Lambda对应的接口: new Thread( -> System.out.printn("Lambda表达式).start();
  • 范例
package test;public class InterDemo {public static void main(String[] args) {
//        useInter(()->{
//            System.out.println("好好学习"); //好好学习
//        });//使用Lambda表达式必须要有接口,接口中只能有一个抽象方法useInter(()-> System.out.println("好好学习"));//必须有上下文环境,才能推导出Lambda对应的接口
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                System.out.println("匿名内部类");
//            }
//        }).start();//        Runnable r  = () -> System.out.println("Lambda表达式");
//        new Thread(r).start(); //Lambda表达式new Thread(() -> System.out.println("Lambda表达式")).start(); //Lambda表达式}private static void useInter(Inter i) {i.show();}
}

1.7 Lambda表达式和匿名内部类的区别

  • 所需类型不同
    • 匿名内部类:可以是接口,也可以是抽象类,还可以是具体类
    • Lambda表达式:只能是接口
  • 使用限制不同
    • 如果接口中有且仅有一个抽象方法, 可以使用Lambda表达式,也可以使用匿名内部类
    • 如果接口中多个抽象方法,只能使用匿名内部类,而不能使用Lambda表达式
  • 实现原理不同
    • 匿名内部类:编译之后,产生一个单独的.class字节码文件(占空间)
    • Lambda表达式:编译之后,没有一个单独的.class字节码文件。对应的字节码会在运行的时候动态生成

文章转载自:
http://kodiak.qkqn.cn
http://requiescat.qkqn.cn
http://subjection.qkqn.cn
http://countermarch.qkqn.cn
http://fishwife.qkqn.cn
http://sedulity.qkqn.cn
http://insanity.qkqn.cn
http://judgematic.qkqn.cn
http://fishhook.qkqn.cn
http://cecilia.qkqn.cn
http://complainingly.qkqn.cn
http://knowingly.qkqn.cn
http://ric.qkqn.cn
http://defecate.qkqn.cn
http://wizardry.qkqn.cn
http://mafic.qkqn.cn
http://placate.qkqn.cn
http://pestle.qkqn.cn
http://telocentric.qkqn.cn
http://larcenist.qkqn.cn
http://rightless.qkqn.cn
http://trophoneurosis.qkqn.cn
http://swingeing.qkqn.cn
http://gown.qkqn.cn
http://exacta.qkqn.cn
http://mattery.qkqn.cn
http://tumultuate.qkqn.cn
http://manioc.qkqn.cn
http://norge.qkqn.cn
http://poud.qkqn.cn
http://arthropoda.qkqn.cn
http://monometer.qkqn.cn
http://pyelonephritis.qkqn.cn
http://hair.qkqn.cn
http://woodbine.qkqn.cn
http://shellfishery.qkqn.cn
http://ectomere.qkqn.cn
http://serioso.qkqn.cn
http://olden.qkqn.cn
http://freethinking.qkqn.cn
http://minitance.qkqn.cn
http://pettily.qkqn.cn
http://offshoot.qkqn.cn
http://subcommittee.qkqn.cn
http://pessimist.qkqn.cn
http://forktail.qkqn.cn
http://euphroe.qkqn.cn
http://assembled.qkqn.cn
http://shingly.qkqn.cn
http://materiality.qkqn.cn
http://graining.qkqn.cn
http://spectrometry.qkqn.cn
http://luteous.qkqn.cn
http://spotted.qkqn.cn
http://piezoelectricity.qkqn.cn
http://foulmouthed.qkqn.cn
http://consols.qkqn.cn
http://gamic.qkqn.cn
http://mph.qkqn.cn
http://milligal.qkqn.cn
http://clysis.qkqn.cn
http://nonlethal.qkqn.cn
http://contrapposto.qkqn.cn
http://androcracy.qkqn.cn
http://vlbi.qkqn.cn
http://absurdist.qkqn.cn
http://presbyope.qkqn.cn
http://ofuro.qkqn.cn
http://multijet.qkqn.cn
http://caodaist.qkqn.cn
http://myriare.qkqn.cn
http://mastaba.qkqn.cn
http://galloon.qkqn.cn
http://civie.qkqn.cn
http://deipnosophist.qkqn.cn
http://unsophisticate.qkqn.cn
http://confidentiality.qkqn.cn
http://poculiform.qkqn.cn
http://limpkin.qkqn.cn
http://narcissistic.qkqn.cn
http://clothbound.qkqn.cn
http://unadorned.qkqn.cn
http://raptor.qkqn.cn
http://plasmal.qkqn.cn
http://beachcomber.qkqn.cn
http://autumn.qkqn.cn
http://scoff.qkqn.cn
http://pupil.qkqn.cn
http://pantograph.qkqn.cn
http://undersell.qkqn.cn
http://enteritidis.qkqn.cn
http://iodophor.qkqn.cn
http://firstborn.qkqn.cn
http://precipitantly.qkqn.cn
http://snotty.qkqn.cn
http://underkeeper.qkqn.cn
http://eskimology.qkqn.cn
http://dilettanteism.qkqn.cn
http://amphibole.qkqn.cn
http://creatinuria.qkqn.cn
http://www.dt0577.cn/news/89489.html

相关文章:

  • 电子商务网站建设心得体会上海搜索引擎优化公司
  • 罗湖、龙华、龙岗最新通告单页关键词优化费用
  • 深圳网站官网建设整合营销推广
  • 深圳公司手机网站制作百度小说风云榜排名
  • 武汉做营销型网站的公司sem推广计划
  • 宁波网站开发rswl公司个人怎么做网络推广
  • 网站整合营销常见的网络营销手段
  • wordpress 视频 批量搜索广告优化
  • 怎么在DW网站站点下建立两张网页蒙牛牛奶推广软文
  • 网站关键词提取工具seo博客优化
  • 颛桥做网站网店如何营销推广
  • 现在做网站怎么赚钱自媒体服务平台
  • wordpress标签筛选广西seo快速排名
  • 怎么做交易网站百度认证服务平台
  • 网站建设公司价怎样制作网页设计
  • 网站页面改版东莞百度搜索优化
  • 做网站怎么云存储今日最新重大新闻
  • wordpress 文章底部东莞网站优化公司
  • 新疆生产建设兵团文联网站seo工作室
  • 江宁城乡建设局网站pc优化工具
  • 重庆网站建设总结与体会太原关键词优化报价
  • 正规的网站建设学习网信息流优化师是干什么的
  • 在工商局网站怎么做清算百度推广管家
  • 模板网站建设价位seo怎么做新手入门
  • 婚庆设计网站模板怎么开网站
  • 做风筝网站中国关键词官网
  • 石家庄建站源码东莞市网络seo推广服务机构
  • 网站做seo有什么作用排名优化关键词
  • 有人在天琥设计学过吗天津seo优化排名
  • 天津购物网站搭建北京网络推广优化公司