gpt4 book ai didi

java - 如何在接口(interface)中使用 super 来默认实现

转载 作者:行者123 更新时间:2023-12-02 05:07:28 26 4
gpt4 key购买 nike

如果我可以使用 super 在以下程序中将默认实现引用应用到接口(interface),那就太棒了。喜欢Alpha.super.reset()所以,请告诉我们这个语句将在哪里使用。

interface Alpha {
default void reset() {
System.out.println("This is alpha version of default");
}
}

interface Beta {
default void reset() {
System.out.println("This is beta version of default");
}
}

class MyClass implements Alpha, Beta {
void display() {
System.out.println("This is not default");
}
}

class MainClass {
public static void main(String args[]) {
MyClass ob = new MyClass();
ob.reset();
ob.display();
}
}

例如,如果我们想使用reset()的测试版方法,那么我们必须扩展其中两个接口(interface)之一。例如:interface Beta extends Alpha那么它将使用reset()的测试版。但这里我们想要使用 super 以及它的使用位置。

最佳答案

调用可能来自两个不同接口(interface)的默认方法实现的语法使用接口(interface)名称后跟 .super,如下所示:

class MyClass implements Alpha, Beta {
public void reset() {
Alpha.super.reset();
Beta.super.reset();
}
}

reset() 方法的实现调用两个接口(interface)的默认方法实现。

关于java - 如何在接口(interface)中使用 super 来默认实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com