java之函数式接口简介说明

欢喜 Java经验 发布时间:2025-06-05 14:06:58 阅读数:17527 1
下文笔者讲述java函数式接口的简介说明,如下所示

函数式接口简介

函数式接口(Functional Interface)
  是指只包含一个抽象方法的接口
  它可以被隐式转换为一个Lambda表达式、方法引用或构造器引用
   是Java支持函数式编程的核心机制之一

函数式接口基本特征

 -仅含一个抽象方法
   (可有多个默认方法或静态方法)
 -可使用`@FunctionalInterface`注解
   进行标记

例:
	@FunctionalInterface
	public interface MyFunctionalInterface {
		void doSomething(); // 唯一抽象方法

		default void defaultMethod() {
			// 默认方法不影响函数式接口性质
		}
	}

常见内置函数式接口(来自`java.util.function`包)

接口名抽象方法 用途示例
`Function<T, R>``R apply(T t)` 接收一个输入,
返回一个结果(如:转换操作)
`Consumer<T>``void accept(T t)` 消费一个输入,
无返回值(如:打印、保存)
`Supplier<T>``T get()` 无输入
提供一个结果(如:生成数据)
`Predicate<T>``boolean test(T t)` 接收一个输入,
返回布尔值(如:条件判断)
`Runnable``void run()`无参数无返回值(用于线程任务)
`BiFunction<T, U, R>``R apply(T t, U u)` 接收两个参数,
返回一个结果

函数式接口的使用方式

1.Lambda表达式
  //使用 Lambda 实现 Runnable 函数式接口
  Thread thread = new Thread(() -> System.out.println("Running in thread"));
  thread.start();

2.方法引用
  list<String> list = Arrays.asList("a", "b", "c");
  list.forEach(System.out::println); // 方法引用

3.构造器引用
  Supplier<List<String>> listCreator = ArrayList::new;
  List<String> newList = listCreator.get();

例
  @FunctionalInterface
  interface MathOperation {
  	int operate(int a, int b);
  }
  
  public class Main {
  	public static void main(String[] args) {
  		MathOperation add = (a, b) -> a + b;
  		System.out.println(add.operate(2, 3)); // 输出 5
  	}
  }

函数式接口的特点

特性 描述
功能 支持将行为作为参数传递(函数式编程)
关键点 只能有一个抽象方法
常用包 `java.util.function`
常见使用场景 Stream API、线程任务、事件监听等
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202506/17491049498480.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者