接口A
public interface InterfaceA { void print(); default void testMethod() { System.out.println("Print A"); } }
接口B
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方法,在这样的情况下,编译器会报错。