Почему это не CE, когда класс реализует два интерфейса с одним и тем же методом по умолчанию, а один из интерфейсов расширяет другой? - PullRequest
0 голосов
/ 29 марта 2019

Может кто-нибудь объяснить мне, почему в приведенном ниже фрагменте кода нет CE?Класс реализует оба интерфейса, которые имеют один и тот же метод по умолчанию, но что меняется, когда один из интерфейсов расширяет другой? А также, почему я не могу вызвать печать из T1 с помощью T1.super.print ();?

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();
    }
}
...