首页 > 其他分享 >函数式接口@FunctionInterface

函数式接口@FunctionInterface

时间:2023-12-29 15:36:13浏览次数:26  
标签:函数 doSomething Object 接口 test FunctionInterface 方法 public

有以下特点:

1.该注解只能标记在“有且仅有一个抽象方法”的接口上。

2.JDK8接口中的静态方法和默认方法,都不算事抽象方法。

3.接口默认继承java.lang.Object,所以如果接口显示声明覆盖了Object中方法,那么也不算抽象方法。

4.该注解不是必须的,如果一个接口符合“函数式接口”定义,那么加不加该注解都没有影响。加上该注解能够更好地让编译器进行检查。如果编写的不是函数式接口,但是加上了@FunctionInterface,那么编译器会报错。

@FunctionalInterface
public interface FunctionalInterfaceTest {
    Object doSomething(Object object);
}

作用:使用@FunctionInterfave可以防止以后再接口中添加新的抽象方法,就是限定了只能用此抽象方法,别的方法不能用,直接限制死了。

public class Test {

    @org.junit.Test
    public void test(){
        test2(list -> {
            // 执行test的doSomething
            System.out.println(list); 
            return "doSomething方法执行完成";
        });
    }
    
    public void test2(FunctionalInterfaceTest test){
        System.out.println("方法test2被调用");
        final Object o = test.doSomething("执行test的doSomething");
        System.out.println("打印doSomething的返回值:" + o);
    }
}

标签:函数,doSomething,Object,接口,test,FunctionInterface,方法,public
From: https://blog.51cto.com/u_11315052/9028277

相关文章

  • Taurus .Net Core 微服务开源框架:Admin 插件【4-8】 - 配置管理-Mvc【Plugin-Limit 接
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-7】-配置管理-Mvc【Plugin-Metric接口调用次数统计】本篇继续介绍下一个内容:1、系统配置节点:Mvc- Plugin-Limit接口访问限制、IP限制、Ack限制:配置界面如下:限制目前提供以下三个类别的限制:1、Rate访......
  • strtok()函数字符串分割
    strtok()函数格式strtok(char数组,char*指针指向分隔符),此函数每次执行将会获取一段分割字符strtok()函数实力#include<iostream>#include<string.h>//strtok头文件,此文件为c函数库string.h,非c++库stringusingnamespacestd;intmain(){charData[]="分-割";//......
  • 18 SPI接口ADC采集驱动设计
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录米联客(MiLianKe)FPGA社区-www.uisrc.com观看免费视频课程、在线答疑解惑!1概述一些低速高精度的ADC/DAC都具有SPI接口,SPI的速率最高可以到几百M,另外由于接口少硬件设计简单,通信时序......
  • 在Python中,如果你想查找特定的SQLite数据库文件(例如'mydatabase.db'),你可以使用os模块
    这是Python中os.walk()函数的常见用法¹²⁴⁵⁶。os.walk()函数用于递归遍历指定目录及其子目录,并返回一个生成器,每次迭代都会返回一个包含三个元素的元组:当前目录的路径、当前目录下所有子目录的列表和当前目录下所有文件的列表¹²⁴⁵⁶。在fordirpath,dirnames,filenamesi......
  • Asp.net WebApi Swagger Tag 标记分组归纳显示Api接口路由
    官方文档说明地址https://swagger.io/docs/specification/2-0/grouping-operations-with-tags/创建一个自定义的特性类publicclassControllerGroupAttribute:Attribute{publicControllerGroupAttribute(stringgroupName){if......
  • 福建科立讯通信有限公司指挥调度管理平台-upload接口任意上传
    FOFA语法body="指挥调度管理平台"&&title=="指挥调度管理平台"POCPOST/api/client/upload.phpHTTP/1.1Host:{{Hostname}}Content-Length:180Cache-Control:max-age=0Upgrade-Insecure-Requests:1Content-Type:multipart/form-data;boundary=----......
  • .net 6 post 接口传递json数据,接口实体对象反序列化导致一些可空字段报错 field is re
    1现象接口定义 swagger请求 正常来讲,string类型默认为null的2原因C#8.0引入了“可为空引用类型”和“不可为空引用类型”,使我们能够对引用类型变量的属性作出重要声明 3解决方法a)json对象的反序列化对象添加可空修饰符?b)全局配置//关闭不可为空引用类型......
  • 在不使用内置函数和中间变量的情况交换数字LeetCode力扣题解面试题16.01
    #异或法#Kotlin```KotlinclassSolution{  funswapNumbers(numbers:IntArray):IntArray{    numbers[0]=numbers[0]xornumbers[1]    numbers[1]=numbers[1]xornumbers[0]    numbers[0]=numbers[0]xor......
  • select 函数使用注意事项 时间重置和检测描述符范围
    select函数中的坑(C语言) 最近写了一个测试驱动的poll函数的应用程序,在应用层中调用select进行操作,设置好timeout之后,如果只对select()调用一次,就没有问题。但一旦多次调用后,就变成只有第一次timeout有效,后面的都没有效果了。#include<sys/types.h>#include<sys/stat.h>#......
  • 匿名用户访问的接口或者无登录态场景下接口防刷的解决方案
    背景经常会遇到抽奖活动根据登记的手机号发短信验证抽奖,或者公开的投票系统,又或者面向马路上的消费者展开调查问卷。这些场景下都有可能会有不法分子借此谋利或者恶意破坏。 防刷不能靠一门单一的技术,而是要综合分析可能的破解手段,评估攻击者愿意做到什么地步,以和黑产打一场全......