Lambda表达式

什么是函数式接口?

定义

任何接口,只是包含一个抽象的方法,那么就是函数式接口
在这里插入图片描述

注意:这里的Lambda函数式编程,在这里面必须只有一个函数

下面是没有参数的情况下实现的函数式编程

package com.ano;

/**
 * 这里采用Lambda的表达式
 * 这里擦爱用多种方法实现那
 *
 */
//接口定义
interface Like{
    public void say();
}
//定义实现类
class Eg implements Like{

    @Override
    public void say() {
        System.out.println("定义实现类");
    }
}

public class Lambedeg {
    //定义静态内部类
    static class Eg1 implements  Like
    {
        @Override
        public void say() {
            System.out.println("定义静态内部类");
        }
    }


    public static void main(String[] args) {
        Like eg = new Eg();
        eg.say();

        Like eg1 = new Eg1();
        eg1.say();

        //局部内部类
        class Eg2 implements Like{
            @Override
            public void say() {
                System.out.println("局部内部类");
            }
        }
        new Eg2().say();

        //匿名内部类,没有类的名称
        Like eg3 = new Like() {
            @Override
            public void say() {
                System.out.println("这里是匿名内部类");
            }
        };
        eg3.say();
        //这里是使用Lamb的方式实现,这里实现对名称的简化操作,使得操作更加简化。
        Like eg4 = () -> {
            System.out.println("这里是lambda方式");
        };
       eg4.say();
    }

}

上面展示了有参数的方法的情况,下面展示没有参数的情况下的内部的情况

package com.ano;

//这里展示的是有参数的函数式编程
interface Egg{
    public void say(int a);
}
interface Egg2{
    public void say(int a,int b);
}


public class HaveInt {
    //根据上面的公式的情况下,就不重复写了,这里只是展示Lambda的操作
    public static void main(String[] args) {

        //简化1
        Egg egg = (int a) -> {
            System.out.println("公鸡叫了"+a);
        };
        egg.say(1);
        //简化2
        Egg egg1 = a -> {
            System.out.println("公鸡叫了"+a);
        };
        egg1.say(2);

        //简化3
        Egg egg2 = a -> System.out.println("公鸡叫了"+a);
        egg2.say(3);

        //这里要注意对于多个参数要进行不同的操作进行实现。
        //必须是函数式编程
        //多个参数类型必须加括号


        //简化1
        Egg2 egg21 = (int a,int b) -> {
            System.out.println("公鸡叫了"+a);
        };
        egg21.say(2,3);
        //简化2
        Egg2 egg22 = (a,b) -> {
            System.out.println("公鸡叫了"+a);
        };
        egg22.say(2,3);

        //简化3
        Egg2 egg23 = (a,B) -> System.out.println("公鸡叫了"+a);
        egg23.say(3,4);



    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值