首页 > 编程语言 >Java 多线程(四)Lambda表达式

Java 多线程(四)Lambda表达式

时间:2022-10-10 16:55:23浏览次数:59  
标签:love like System println Java 多线程 out Lambda

Lamda表达式

λ希腊字母表中排序第十一位的字母,英语名为Lambda

避免匿名内部类定义过的多

其实质属于函数式编程的概念

理解函数式接口是学习Java8 Lambda表达式的关键所在

函数式接口定义:

  1.任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口

  2.对于函数式接口,我们可以通过Lambda表达式来创建该接口的对象。

//推导Lambda表达式
public class TestLambda1 {
    //3.静态内部类
    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.Lambda();

        like = new Like2();
        like.Lambda();

     //4.局部内部类
        class Like3 implements ILike{
            @Override
            public void Lambda() {
                System.out.println("I like lambda3!");
            }
        }

        like = new Like3();
        like.Lambda();

    //5.匿名内部类
            like = new ILike() {
                @Override
                public void Lambda() {
                    System.out.println("I like lambda4!");
                }
            };
            like.Lambda();

    //6.用Lambda简化
        like = ()->{
            System.out.println("I like lambda5!");
        };
        like.Lambda();
    }
}
//1.定义函数式接口
interface ILike{
    void Lambda();
}
//2.实现类
class Like implements ILike{
    @Override
    public void Lambda() {
        System.out.println("I like lambda!");
    }
}

1.上面推导输出结果                                                2.下面简化输出结果

                       

public class TestLambda2 {
public static void main(String[] args) {
ILove love = null;
//1.原始
love = (String person)->{
System.out.println(person + "I love you!");
};
love.love("呜呜");

//2.简化去参数类型
love = (person)->{
System.out.println(person + "I love you!");
};
love.love("公子");

//3.简化去括号
love = person->{
System.out.println(person + "I love you!");
};
love.love("大侠");

//4.简化去花括号(此简化前提是方法体内只有一行代码,否则不能简化)
love = person->System.out.println(person + "I love you!");
love.love("随哥");
}
}
interface ILove{
void love(String person);
}

如果括号内有多个参数,也可以去掉参数类型,但是必须加上括号,不能像只有一个参数一样可以去掉括号

 

标签:love,like,System,println,Java,多线程,out,Lambda
From: https://www.cnblogs.com/zhulei118/p/16772503.html

相关文章

  • Java 我的第一个hello word
         项目—右键—选中添加框架的支持 选中“WebApplication”,然后确定  右键src,新建一个类          ......
  • 使用 idea2021(汉化版)创建一个java程序
            建好以后是这样的 在左边的项目栏建好的项目下右键【src】,选择【新建】,选择【Java类】  输入文件名HelloWorld按回车。即可创建完成......
  • 005Java开发环境搭建
    005Java开发环境搭建1、JDK下载与安装(1)卸载首先我们先来学习一下如何卸载JDK。删除Java的安装目录(jdk整个包)。删除环境变量里的“JAVA_HOME”。删除Path下关于Java......
  • Java技术选择题1
                            ......
  • JavaScript高级程序设计笔记04 变量、作用域与内存
    变量、作用域与内存变量特定时间点一个特定值的名称。分类原始值:按值访问复制:两个独立使用、互不干扰引用值(由多个值构成的对象):按引用访问操作对象时,实际上......
  • Java HashMap getOrDefault() 方法
    参考链接:https://www.runoob.com/java/java-hashmap-getordefault.htmlhttps://blog.csdn.net/weixin_43263961/article/details/86513880......
  • 004Java的一些基本概念
    004Java的一些基本概念1、Java特性和优势Java至少具有以下特性:简单性(没有头文件、没有指针运算、也没有分配内存等操作)面向对象(万物皆对象)可移植性(一次编写,到处运行......
  • 自己动手写ls命令——Java版
    自己动手写ls命令——Java版介绍在前面的文章Linux命令系列之ls——原来最简单的ls这么复杂当中,我们仔细的介绍了关于ls命令的使用和输出结果,在本篇文章当中我们用Java代......
  • javascrip的日期
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • Eclipse将Maven项目打成jar包以及java用命令运行jar包指定类下的main方法
    Eclipse将项目打包成jar参考:https://javaforall.cn/151764.html      https://blog.csdn.net/xiaofengfeng_24/article/details/1252642531:在eclipse中选中项......