Java 定义接口时如何传入一个函数
时间: 2024-02-21 08:56:38 浏览: 27
在 Java 中,可以使用函数式接口(Functional Interface)作为接口的参数类型,从而实现传入一个函数。
函数式接口是只有一个抽象方法的接口,可以通过 Lambda 表达式或方法引用来创建该接口的实例。例如,定义一个函数式接口:
```
@FunctionalInterface
public interface MyFunction {
void doSomething(String input);
}
```
然后定义一个接口,接收一个 MyFunction 接口作为参数:
```
public interface MyInterface {
void doSomethingWithFunction(MyFunction myFunction);
}
```
在实现 MyInterface 接口时,可以传入一个 Lambda 表达式或方法引用作为参数,例如:
```
public class MyInterfaceImpl implements MyInterface {
public void doSomethingWithFunction(MyFunction myFunction) {
myFunction.doSomething("Hello world");
}
}
MyInterface myInterface = new MyInterfaceImpl();
myInterface.doSomethingWithFunction((input) -> System.out.println("Input: " + input));
```
这样就可以将一个函数传递给接口,实现更加灵活的编程。