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!