场景:
java方法的部分逻辑重用,允许调用方法的人传入部分方法逻辑,并执行。
示例
java8之前的方法重用,调用方法时可以修改方法传入参数,来达到特殊的执行逻辑。
如下,我只能修改方法的传入参数变量name,但是调用者可以调用的方法修改内部逻辑吗?不可以
void findBy(String name){
System.out.println("执行第一步");
System.out.println("执行第二步");
System.out.println("执行第三步");
}
java8之后通过,接口当参数的目的,可以达到调用某个方法时,执行调用者增加的代码逻辑
定义接口
interface TestThrow {
void process();
}
将被调用的方法
public void findBy(TestThrow testThrow) {
System.out.println("执行第一步");
testThrow.process();
System.out.println("执行第二步");
System.out.println("执行第三步");
}
如何调用
findBy(() -> studentService.getStudentBy(String name));
这个样就完成对一个方法传入部分代码逻辑的操作了