首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[lambda] 函数式编程注解学习

[lambda] 函数式编程注解学习

作者头像
master336
发布2026-06-15 18:39:37
发布2026-06-15 18:39:37
800
举报

环境:

        JDK1.8 @FunctionalInterface:

用于指示接口类型声明是一个函数接口,语法定义上,函数接口只有一个抽象方法。{java.lang.reflect.Method#isDefault()}新增了对default 方法的判断,允许接口有存在default修饰的非抽象方法(一个或多个)。如果 接口声明覆盖 了{ java.lang.Object}的公共方法,不计入接口的抽象方法数。 可以使用以下命令创建功能接口的实例 :1)lambda表达式 2)方法引用 3)构造函数引用。使用该注解声明接口时,当不满足函数接口规范时,编译器会报错。另外,static修饰的方法也不计入抽象方法数(因为不是抽象的)。

实例:

代码语言:javascript
复制
package util;

public class LambdaDemo {
    public static void main(String[] args) {
        OnePatamC c = new OnePatamC();
        c.printO((i) -> {
            System.out.println(i);
        });
    }
}
@FunctionalInterface
interface OnePatam{
    // 函数式方法 抽象的,符合lambda使用规范
    void show(int i);
    // 重写java.lang.Object方法不计入抽象方法数
    String toString();
    // jdk新增静态方法 ,允许"类型.方法"形式调用
    static String test(String s1){
        return s1;
    }
    static String test1(String s1){
        return s1;
    }
    // jdk新增default方法修饰符 ,允许"类型.方法"形式调用 
    // 配套提供Method.isDefault() 判断是否为default方法
    default String testa(String s1){
        return s1;
    }
    default String testb(String s1){
        return s1;
    }

}
class OnePatamC{
    public void printO(OnePatam o){
        System.out.println(o);
        o.show(1);
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档