Java 8 introduces default approaches on interfaces. If A,B,C are interfaces, B,C can Every single deliver another implementation to an abstract approach to A, creating the diamond issue. Both class D need to reimplement the tactic (your body of which might simply forward the call to one of several Tremendous implementations), or maybe the ambiguity