Java: Which practice avoids a common mistake with Interface vs Abstract Class?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with Interface vs Abstract Class?

  1. Do not push mutable shared state into an abstract base type unless every subclass genuinely owns that state.
  2. Ignore the Interface vs Abstract Class issue and rely on team discipline instead of APIs or contracts.
  3. Silence the Interface vs Abstract Class problem by using raw types, broad catches, or shared mutable state.
  4. Prefer the version of Interface vs Abstract Class that makes behavior less predictable as long as the code compiles.

Hint

Look for the option that protects correctness instead of hiding the problem.

Answer and rationale

Correct answer: A. Do not push mutable shared state into an abstract base type unless every subclass genuinely owns that state.

Do not push mutable shared state into an abstract base type unless every subclass genuinely owns that state. This is a common failure mode in real Java code and a frequent interview follow-up.

Track: Java