首页 > 其他分享 >函数式接口的使用

函数式接口的使用

时间:2022-12-05 15:59:04浏览次数:40  
标签:函数 show 使用 接口 chenly 方法 public

1.  什么是函数式接口

  • 只包含一个抽象方法的接口,称为函数式接口
  • 我们可以在任意函数式接口上使用@FunctionInterface注解,这样做可以检查它是否是一个函数式接口,同时javadoc也会包含一条声明,说明这个接口是一个函数式接口

2.  函数式接口的使用

2.1.  自定义函数式接口

package com.chenly.fun;

/**
 * @author: chenly
 * @date: 2022-11-29 16:55
 * @description:
 * 函数式接口:有且只有一个抽象方法的接口,称之为函数式接口
 *    当然接口中可以包含其他的方法(默认,静态,私有)
 *
 *    @FunctionalInterface
 *    作用:可以检测接口是否是一个函数式接口
 */
@FunctionalInterface
public interface MyFunctionalInterface {
    //定义一个抽象方法
    public abstract Object method();
}

2.2.  实现类MyFunctionalInterfaceImpl

package com.chenly.fun;

/**
 * @author: chenly
 * @date: 2022-11-29 16:56
 * @description:
 * @version: 1.0
 */
public class MyFunctionalInterfaceImpl implements MyFunctionalInterface
{
    @Override
    public Object method() {
        System.out.println("实现类重写接口中的抽象方法");
        return null;
    } 
}

2.3.  函数式接口的使用

package com.chenly.fun;

/**
 * @author: chenly
 * @date: 2022-11-29 16:57
 * @description:  函数式接口的使用:一般可以作为方法的参数和返回值类型
 * @version: 1.0
 */
public class Demo {

    /**定义一个方法,参数使用函数式接口MyFunctionalInterface*/
    public static Object show(MyFunctionalInterface myInter){
        return myInter.method();
    }

    public static void main(String[] args) {
        //调用show方法,方法的参数是一个接口,所以可以传递接口的实现类对象
        show(new MyFunctionalInterfaceImpl());

        //调用show方法, 匿名内部类的方式
        show(new MyFunctionalInterface() {
            @Override
            public Object method() {
                System.out.println("使用匿名内部类重写接口中的抽象方法");
                return null;
            }
        });

        //调用show方法,使用Lambda表达式
        show(()->{
            System.out.println("使用Lambda重写接口中的抽象方法");
            return null;
        });

        //简化Lambda表达式
        //show(()-> System.out.println("使用Lambda重写接口中的抽象方法"));
    }
}

 

标签:函数,show,使用,接口,chenly,方法,public
From: https://www.cnblogs.com/kiko2014551511/p/16952472.html

相关文章

  • 使用咱们公司的DataInside可视化产品配置了一个教育行业的大屏展示软件
      今天在公司用配置了一个可视化大屏软件,大家觉得如何? ......
  • PS新手教程-如何使用PS给人物制作简单的工笔画效果
    如何使用PS给人物制作简单的工笔画效果?给大家介绍如何使用PS给人物制作简单的工笔画效果,一起来看看吧。1.打开ps,打开素材图片2.Ctrl+j复制一层,Ctrl+Shift+u去色3.Ctrl+j在......
  • 成员函数重载与全局函数重载
    利用成员函数实现运算符的重载*在这里实现‘+’运算符和‘<<’运算符的重载。值得注意的是,‘+’用全局函数或成员函数都能实现重载;但 ‘<<’只能用全局函数实现重......
  • redis5种数据类型使用场景
          ......
  • C++接口工程实践
    https://zhuanlan.zhihu.com/p/213902091还没有学习完简介:程序开发的时候经常会使用到接口。众所周知,C++语言层面并没有接口的概念,但并不意味着C++不能实现接口的功能。......
  • 天气预报web服务使用
    首先你在你的web项目下面的References,右击References,点击AddWebRefercenes然后把​​http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx​​地址输入到URl文本......
  • DevExpress TreeList使用心得
    最近做项目新增光纤线路清查功能模块,思路和算法已经想好了,些代码时候居然在一个控件上纠结了好长的时间,虽然后来搞定了,但是好记性不然烂笔头,还是写下来,以后要用到的时候直接......
  • 使用七牛云上传视频
    1.七牛云介绍属于第三方文件服务器(国内go语言推崇者),免费的个人存储空间。我们把图片视频等文件资料放在第三方托管平台,这样消耗带宽和硬盘就是消耗的第三方的了。2.......
  • 获取网易云音乐开放接口api的推荐歌单
    网易云音乐开放api接口网址:https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=neteasecloudmusicapi项目地址:https://github.com/Binaryify/NeteaseCloudMusicAp......
  • 使用 Fluent Bit 实现云边统一可观测性
    本文基于KubeSphere可观测性与边缘计算负责人霍秉杰在北美KubeCon的Co-locatedeventOpenObservabilityDay闪电演讲的内容进行整理。整理人:米开朗基杨、大飞哥......