美文网首页
java8新特性之函数式接口

java8新特性之函数式接口

作者: 糯米团子123 | 来源:发表于2022-08-01 15:05 被阅读0次
  1. 什么是函数式接口?
    如果一个接口中只声明了一个抽象方法,那么此接口就称为函数式接口。

  2. 定义一个函数式接口
    @FunctionalInterface 注解来检查是否是一个函数式接口。

@FunctionalInterface
public interface FuncInterface(){
  void test();
}
  1. 函数式接口规范
    3.1 @FunctionalInterface标识为一个函数式接口,只能用在只有一个抽象方法的接口上。
    3.2 接口中的静态方法、默认方法、覆盖了Oject类的方法都不算抽象方法。
    3.3 @FunctionalInterface注解不是必须的,如果改接口只有一个抽象方法可以不写,他默认就是函数式接口,但是建议都写上该注解,编译器会检查该接口是否符合函数式接口的规范。

  2. 用途
    用于lamdba表达式。
    例如:

Thread t = new Thread(()->System.out.println("t")));
  1. 举例
    5.1 正确的函数式接口
@FunctionalInterface
public interface FuncInterface(){
  void test();
}
@FunctionalInterface
public interface FuncInterface(){
  void test();
  public boolean equals(Object object);// 覆盖Object中的方法
  public default void test2(){
    // 默认方法
  }
  public static void test2(){
    // 静态方法  
  }
}

5.2 错误的函数式接口
有两个抽象方法,用@FunctionalInterface注解编译报错

@FunctionalInterface
public interface FuncInterface(){
  void test();
  void test2();
}

有两个抽象方法,没有用@FunctionalInterface注解标识,不能用于lamdba表达式

public interface FuncInterface(){
  void test();
  void test2();
}

没有抽象方法,用@FunctionalInterface注解编译报错

@FunctionalInterface
public interface FuncInterface(){
}

相关文章

  • JAVA8函数式接口学习

    JAVA8函数式接口 函数式接口是java8的一种新特性,函数式接口定义了且只定义了一个抽象方法!该接口非常有用,...

  • java 各版本新特性介绍

    java8 新特性 Java8 主要包括的新特性有: 函数式接口如果一个接口只有一个抽象方法,那么该接口就成为一个...

  • 函数式接口

    函数式接口 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!! 函数式接口(Functional...

  • JAVA8新特性之函数式接口使用与学习

    函数式接口 函数式接口是Java8引用的一个新特性,是一种特殊的接口 SAM类型的接口(Single Abstra...

  • Lambda表达式

    Lambda表达式是Java8的一个新特性,是函数式接口的一种体现。所谓函数式接口(functional inte...

  • Java 8 Funciton、Consumer、Predica

    一、简述 Funciton、Consumer、Predicate是Java8中的新特性。他们都是函数式接口,位于j...

  • Java 8 新特性 - 函数式接口 Functional In

    Java8的其中一个新特性,函数式接口。 什么是函数式接口?有且仅有一个抽象方法的接口(不包括默认方法、静态方法以...

  • 浅谈函数式接口

    函数式接口是 Java8 引入的一个新特性,是一种特殊的接口:SAM类型的接口(Single Abstract M...

  • 常见面试题:java8有什么新特性?

    常见面试题:java8有什么新特性? 主要有以下这些新特性: lambda 表达式,经常配合函数式接口使用,可以有...

  • java8 新特性

    java8 新特性 核心内容 Lambda:函数式接口编程,简化代码量,类型上下文自动推断。 Stream Api...

网友评论

      本文标题:java8新特性之函数式接口

      本文链接:https://www.haomeiwen.com/subject/esjrwrtx.html