2021.6.22笔记 函数式接口

概念与定义

在这里插入图片描述

@FunctionalInterface
public interface Functional {
    public abstract void method();
}

函数式接口的使用

一般可以作为方法的参数和返回值类型

public class Impl{
    public static void show(FunctionalInter fin){
        System.out.println("重写inter的类");
    }

    public static void main(String[] args) {
        show(new FunctionalClass());		//实现类对象
        show(new FunctionalInter() {
            @Override
            public void show() {
                System.out.println("匿名内部类");
            }
        });
        show(()->System.out.println("Lambda表达式"));      //Lambda程序只有一行时候可以省略里面的分号,大括号还有return
    }
}

Lambda优化日志

使用Lambda的好处就是,只会传参,只在条件成立的时候才计算需要返回的值

public interface LambdaInter {
    public abstract String messageBuilder();
}
public class LambdaImpl {
    public static void showLog(int level, LambdaInter lamInter) {
        if(level == 1) {
            System.out.println(lamInter.messageBuilder());
        }
    }

    public static void main(String[] args) {
        String str1 = "小新";
        String str2 = "妮妮";
        String str3 = "风间";
        showLog(1, ()->str1 + str2 + str3);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值