学习笔记4:java 1.8 函数式接口 @FunctionalInterface 注解

下面贴一段简单的函数式接口代码:

/**
 * @author 雷钊
 * @Date on 2017/12/24
 * @Description
 */
@FunctionalInterface
public interface DefultInterface {


    /**
     * 加1
     *
     * @param num
     */
    public default int addOne(int num) {
        num -= 1;
        return num;
    }

    /**
     * 减一
     *
     * @param num
     */
    public int removeOne(int num);

}

@FunctionalInterface
没错 函数式接口 就是这么简单 , 就多了一个注解

作用:
如果interface加上了这个注解,那么这个接口,将 只能有一个”抽象”方法 ,否则编译将报错.
注意: defult 方法不算,可以有多个,不受限制

运用时机:
在下理解, @FunctionalInterface 这个注解,是为了 lambda 表达式打造的,因为 lambda 表达式,系统会自动去匹配方法,但是安全性没法儿保证了,为了解决这个问题.可以通过这个注解, 强制 达到只有一个实现方法的目的.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值