interface FirstParent { default int doSomething() { return 1; } } interface SecondParent { int doSomething(); } class FirstSon implements FirstParent, SecondParent {} class SecondSon implements SecondParent, FirstParent {} interface A { default int foo() { return 1; } } interface B { abstract int foo(); } interface C extends A, B { }