相关疑难解决方法(0)

试图理解 Java 8 中的方法引用(将类方法分配给函数式接口)

我试图更好地理解方法引用是如何工作的。在这个例子中,我遵循了代码的逻辑,但我不明白这样做的价值。基本上,在 STEP 2 中的方法引用赋值之后,someMethod() 被用作 MyInterface 的 display() 抽象方法的实现。但为什么呢?这样做我们得到了什么?这在架构上什么时候有意义?好像我们把与类无关的Interface和这个赋值关联起来。

@FunctionalInterface
interface MyInterface {
       void display();
}

class DerivClass {
    public void someMethod(){  
            System.out.println("Derived class method");  
    }
}

public class RefTest {

    public static void main(String[] args) {
        DerivClass dc = new DerivClass(); // STEP1: class instance
        MyInterface myInterf = dc::someMethod; // STEP 2: assign method ref to interface    
        myInterf.display(); // STEP 3: executes someMethod(), prints "Derived class method"
    }
}
Run Code Online (Sandbox Code Playgroud)

java java-8

0
推荐指数
1
解决办法
222
查看次数

标签 统计

java ×1

java-8 ×1