Question
Which practice avoids a common mistake with Abstraction?
- Ignore the Abstraction issue and rely on team discipline instead of APIs or contracts.
- Silence the Abstraction problem by using raw types, broad catches, or shared mutable state.
- Do not introduce interfaces or abstract layers before there is real variation or a stable contract to protect.
- Prefer the version of Abstraction 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: C. Do not introduce interfaces or abstract layers before there is real variation or a stable contract to protect.
Do not introduce interfaces or abstract layers before there is real variation or a stable contract to protect. This is a common failure mode in real Java code and a frequent interview follow-up.
Track: Java