java 创建一个非捕获方法引用,该引用将调用超类方法。

bluesky1年前 ⋅ 138 阅读

ChatGPT的回答仅作参考:

可以使用super关键字来创建一个非捕获方法引用,该引用将调用超类方法。例如:

```
class SuperClass {
    public void print() {
        System.out.println("SuperClass");
    }
}

class SubClass extends SuperClass {
    public void print() {
        System.out.println("SubClass");
    }
    
    public void callSuperPrint() {
        Runnable runnable = super::print;
        runnable.run();
    }
}

public class Main {
    public static void main(String[] args) {
        SubClass subClass = new SubClass();
        subClass.callSuperPrint(); // 输出 SuperClass
    }
}
```

在SubClass类中,我们定义了一个callSuperPrint方法,该方法创建了一个非捕获方法引用super::print,该引用将调用超类的print方法。然后我们调用run方法来执行该引用,输出了SuperClass。

全部评论: 0

    相关推荐