Skip to content
Sharp

Core Java · interview question

Given the following code, why does it fail to compile? interface A { default void foo() { } } interface B { default void foo() { } } class C implements A, B { }?

Multiple choiceHardchapter-5-curatedpremiumcore-javadefault-methods-and-multiple-inheritance
java
interface A { default void foo() { } }
interface B { default void foo() { } }
class C implements A, B { }
Choose one answer
Answer and explanation

Correct answer

B. Class C does not override the conflicting method

Why

Class C does not compile because it must explicitly override the conflicting default methods from interfaces A and B. The Java compiler requires resolution of such conflicts to maintain clear behavior.

Test yourself on Core Java

A free test with instant, explained results. No account needed.

Start free test
All Core Java questions →