Java — Truths about anonymous inner classes (capabilities and limitations)

Difficulty: Easy

Correct Answer: It can extend exactly one class or implement exactly one interface.

Explanation:

Introduction / Context:This conceptual question checks the constraints on Java anonymous inner classes: how many super types they can specify and whether they can both extend and implement simultaneously.

Given Data / Assumptions:

  • Anonymous class syntax: new SuperType(...) { ... }.
  • SuperType may be a class or an interface.

Concept / Approach:An anonymous class must either extend one concrete/abstract class or implement one interface, not both, and not multiple interfaces at once. There is only one type name in the creation expression.

Step-by-Step Explanation:

If SuperType is a class, the anonymous class implicitly extends it; it cannot list interfaces there.If SuperType is an interface, the anonymous class implicitly implements that interface; it cannot list additional interfaces or a separate superclass.

Verification / Alternative check:Try writing new A() implements B { } or new A() extends B { } — such constructs are not legal in Java for anonymous classes.

Why Other Options Are Wrong:

  • Options A, B, and D incorrectly allow both extending and implementing or multiple interfaces.

Common Pitfalls:Confusing anonymous inner classes with named classes where you could implement multiple interfaces.

Final Answer:It can extend exactly one class or implement exactly one interface.

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion