1
JavaIntermediate#serialization#keywords
The diamond problem occurs when a class inherits conflicting implementations of the same method from multiple parents. Java avoids ambiguity with multiple inheritance of classes entirely, but for interface default methods, the compiler forces the implementing class to explicitly override the conflicting method.
interface A { default void greet() { System.out.println("A"); } }
interface B { default void greet() { System.out.println("B"); } }
class C implements A, B {
public void greet() { A.super.greet(); } // must resolve explicitly
}