Explain anonymous classes

๐Ÿ’ก Concept: Anonymous Classes

Anonymous classes are inner classes without a name, used for quick, one-off implementations of interfaces or subclasses.

๐Ÿ“˜ Quick Intro

Anonymous classes simplify event handling and callback implementations by defining classes inline.

๐Ÿง  Analogy

Anonymous classes are like a custom-made gadget built on the spot without a blueprint, used immediately and discarded.

๐Ÿ”ง Technical Explanation

  • Declared and instantiated simultaneously using new keyword.
  • Used to implement interfaces or extend classes inline.
  • No explicit class name.
  • Useful for short-lived objects.
  • Cannot have constructors.

๐ŸŽฏ Use Cases

  • โœ… Event listeners in GUI applications.
  • โœ… Runnable implementations in threads.
  • โœ… Simplify code when class definition is not reused.

๐Ÿ’ป Example: Anonymous Class Usage


Runnable r = new Runnable() {
    public void run() {
        System.out.println("Anonymous Runnable running");
    }
};

new Thread(r).start();

โ“ Interview Q&A

Q1: What is an anonymous class?
A: A class without a name, defined inline.

Q2: Can anonymous classes have constructors?
A: No.

Q3: When are anonymous classes used?
A: For quick implementations like event handlers.

Q4: Can anonymous classes implement interfaces?
A: Yes.

Q5: Can they extend classes?
A: Yes.

Q6: Are anonymous classes reusable?
A: No.

Q7: Are anonymous classes type-safe?
A: Yes.

Q8: Do anonymous classes have names?
A: No.

Q9: Can anonymous classes be static?
A: No.

Q10: Difference between anonymous class and lambda?
A: Lambdas are more concise for functional interfaces.

๐Ÿ“ MCQs

Q1. What is an anonymous class?

  • Class with name
  • Class without a name
  • Interface
  • Enum

Q2. Can anonymous classes have constructors?

  • Yes
  • No
  • Sometimes
  • Depends

Q3. When are anonymous classes used?

  • For reuse
  • Quick implementations
  • For inheritance
  • Never

Q4. Can anonymous classes implement interfaces?

  • No
  • Yes
  • Sometimes
  • Depends

Q5. Can anonymous classes extend classes?

  • No
  • Yes
  • Maybe
  • Depends

Q6. Are anonymous classes reusable?

  • Yes
  • No
  • Sometimes
  • Depends

Q7. Are anonymous classes type-safe?

  • No
  • Yes
  • Sometimes
  • Depends

Q8. Do anonymous classes have names?

  • Yes
  • No
  • Sometimes
  • Depends

Q9. Can anonymous classes be static?

  • Yes
  • No
  • Sometimes
  • Depends

Q10. Difference between anonymous class and lambda?

  • Same
  • Lambdas are concise
  • Anonymous classes are concise
  • None

๐Ÿ’ก Bonus Insight

Anonymous classes provide a quick and easy way to implement interfaces or extend classes inline without cluttering your codebase with many small classes.

๐Ÿ“„ PDF Download

Need a handy summary for your notes? Download this topic as a PDF!

๐Ÿ” Navigation

๐Ÿ’ฌ Feedback
๐Ÿš€ Start Learning
Share:

Tags: