5

我有一个接口和抽象类。

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");
    }
}

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

4

1 回答 1

6

您必须在 TEST 类中覆盖 toDO:

@Override
public void toDO() {
    Inter2.super.toDO();
}
于 2015-09-11T06:07:57.467 回答