Java: Which practice avoids a common mistake with Inheritance vs Composition?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with Inheritance vs Composition?

  1. Ignore the Inheritance vs Composition issue and rely on team discipline instead of APIs or contracts.
  2. Silence the Inheritance vs Composition problem by using raw types, broad catches, or shared mutable state.
  3. Prefer the version of Inheritance vs Composition that makes behavior less predictable as long as the code compiles.
  4. Do not inherit only to reuse code if the subtype cannot preserve the parent contract naturally.

Hint

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

Answer and rationale

Correct answer: D. Do not inherit only to reuse code if the subtype cannot preserve the parent contract naturally.

Do not inherit only to reuse code if the subtype cannot preserve the parent contract naturally. This is a common failure mode in real Java code and a frequent interview follow-up.

Track: Java