Java 内部接口为 return 类型

Java inner interfaces as return types

我正在学习 Java,最近遇到了以下可以正常工作的代码,但我不明白为什么:

public class ExecutionChain<Result> {

    Parametriezed1<Result>  classMethod1() {
        return this::method1;
    }

    Parametriezed2<Result> method1() {
        return this::method2;
    }

    Result method2(Result result) {
        return result;
    }

    interface Parametriezed1<Result> {
        Parametriezed2 method1();
    }

    interface Parametriezed2<Result> {
        Result method2(Result result);
    }
}

有人可以解释一下吗:

如果能提供一些有关此处所用原则的文档,我将不胜感激。

两个接口只包含一个方法,使它们成为 FunctionalInterface,这意味着具有正确签名的单个函数可以实现它们。

方法 return 使用正确的签名调用接口 return 方法。

class本身不实现接口;为此,这些方法也需要具有相同的名称。可以将其视为 returning class 方法的一个子集。

如果你问我,这是一段非常复杂的代码。