当一个类使用相同的默认方法实现两个接口,而一个接口扩展了另一个接口时,为什么不是CE?

时间:2019-03-29 11:51:51

标签: methods java-8 interface default

有人可以向我解释为什么以下代码段中没有CE吗?该类实现的两个接口都具有相同的默认方法,但是当其中一个接口扩展另一个接口时会发生什么变化?而且,为什么我不能使用T1.super.print();从T1调用打印? >

interface T1{
    default void print() {System.out.println("T1");}
}



interface T2 extends T1{
    default void print() {System.out.println("T2");}
}

public class Child implements T1,T2{

    public static void main (String... a) {
        Child child = new Child();
        child.print();
        T1.super.print();
    }
}

0 个答案:

没有答案