Below code,
interface I3{ boolean abc(); }; interface I2{ void abc(); }; public class Example1 implements I3, I2{ @Override public void abc() { //Eclipse IDE picked this unimplemented method with the compiler error } } Is it the responsibility of a programmer to not get into this situation?
Why Java has allowed an interface extending multiple interfaces? when java has already avoided similar problem of a class inheriting multiple super classes?
In case of similar constants inherited from multiple interfaces, interfacename.constantname in a subclass avoids ambiguity.
the return type is incompatible with I3.abc()returntypes, then it will be a compilation error. This is the general rule ofinheritance,method overriding.abcis abstract.