public interface InterfaceA {
    void print();
    default void testMethod() {
        System.out.println("Print A");
    }
}
public interface InterfaceB {
    void print();
    default void testMethod() {
        System.out.println("Print B");
    }
}
// 测试类1
public class ClassImpleAB implements InterfaceA{
    @Override
    public void print() {
    }
}
// 测试类2
public class ClassImpleAB implements InterfaceA,InterfaceB{
    @Override
    public void print() {
    }
}
// 报错:ClassImpleAB inherits unrelated defaults for testMethod() from types InterfaceA and InterfaceB
// 必须实现testMethod()方法
如果类实现了两个接口(类似“多继承”),两个接口又同时存在名字相同的default方法,在这样的情况下,编译器会报错。
原文:https://www.cnblogs.com/karamazov/p/15202208.html