java - 调用父类(super class)中重写的默认接口(interface)方法

标签 java interface java-8 default-method

<分区>

我有一个接口(interface)和抽象类。

public class TEST extends Abstract implements Inter2{
    void print() {
        toDO();
    }

    public static void main(String[] args) {
        new TEST().toDO();
    }
}

abstract class Abstract {

    public void toDO() {
        System.out.println("Abstract is called");
    }
}

interface Inter2 {

    default void toDO() {
        System.out.println("Inter2 is called");
    }
}

我想强制类接口(interface)默认方法而不是抽象类。

最佳答案

您必须在 TEST 类中覆盖 toDO:

@Override
public void toDO() {
    Inter2.super.toDO();
}

关于java - 调用父类(super class)中重写的默认接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32516578/

相关文章:

java - 泛型 <? super> 通配符在带有方法引用或 lambda 的 java 1.8 中不起作用

java - 如何在android中获取两个时间差

java - 放入 Java 应用程序时如何更改光标

interface - DDD : What are good reasons for you to loosely-couple Entities?

javascript - 使用 Nashorn 实现模块模式

Cordova 找不到 'JAVA_HOME' 环境变量

java - 前台服务,警报管理器,通知现在显示

java - HttpURLConnection 最大吞吐量

jquery - 如何克隆 StackOverFlow JQuery 接口(interface)?

arrays - Golang 将 interface{} 转换为 N 大小的数组