"Runnable::run" - 这是如何创建 Executor 实例的?

"Runnable::run" - How is this creating an Executor instance?

我正在开发一个项目,其中使用以下行创建测试执行器成员变量实例:

private Executor executor = Runnable::run;

代码运行并编译,但我不明白 Runnable::run 如何创建 Executor 的实例,因为两者是不同的接口。

有谁能解释一下吗?特别是:

谢谢。

Executor 是一个 @FunctionalInterface:

 public interface Executor {
     void execute(Runnable command);
 }

您可以像这样重写它以便更好地理解它:

 Executor executor = (Runnable r) -> r.run(); // or Runnable::run