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

Learn More About Java โ˜•

What is Java and its key features ๐Ÿ‘‰ Explained
Explain the Java Virtual Machine (JVM) ๐Ÿ‘‰ Explained
Difference between JDK, JRE, and JVM ๐Ÿ‘‰ Explained
What are Javaโ€™s main data types ๐Ÿ‘‰ Explained
Explain the concept of Object-Oriented Programming in Java ๐Ÿ‘‰ Explained
What is the difference between a class and an object ๐Ÿ‘‰ Explained
Explain encapsulation with an example ๐Ÿ‘‰ Explained
What is inheritance in Java and its types ๐Ÿ‘‰ Explained
Define polymorphism in Java with examples ๐Ÿ‘‰ Explained
What is abstraction in Java ๐Ÿ‘‰ Explained
Difference between abstract class and interface in Java ๐Ÿ‘‰ Explained
Explain method overloading and method overriding in Java ๐Ÿ‘‰ Explained
What are constructors in Java ๐Ÿ‘‰ Explained
What is the use of the static keyword in Java ๐Ÿ‘‰ Explained
Explain the difference between final, finally, and finalize in Java ๐Ÿ‘‰ Explained
Share:

Tags:


Feedback Modal Popup