Inner Classes in Java
🔷 What is an Inner Class?
An Inner Class is a class defined inside another class. Java allows nesting classes to logically group classes that are only used in one place, increasing encapsulation and readability.
✅ Why Use Inner Classes?
-
Logical grouping of classes
-
Better encapsulation
-
Can access members (even private ones) of the outer class
-
Useful in event handling, GUI applications, etc.
🔰 Types of Inner Classes in Java:
Type | Description |
---|---|
1. Member Inner Class | Regular class defined within another class. |
2. Static Nested Class | Static class defined inside another class. Doesn’t need outer class object. |
3. Local Inner Class | Defined inside a method or block. |
4. Anonymous Inner Class | A class without a name, used for one-time use (like in GUI event handling). |
🔷 1. Member Inner Class (Non-static)
📌 Example:
🔷 2. Static Nested Class
-
Can only access static members of the outer class.
-
Does not need an instance of the outer class to be created.
📌 Example:
🔷 3. Local Inner Class
-
Defined inside a method.
-
Only accessible within that method.
-
Can access final or effectively final variables of the method.
📌 Example:
🔷 4. Anonymous Inner Class
-
A class with no name.
-
Used to implement an interface or extend a class on the fly.
-
Commonly used in GUI or event handling.
📌 Example:
🧠 Summary Table
Type of Inner Class | Access to Outer Class | Static? | Common Use Case |
---|---|---|---|
Member Inner Class | Yes | No | Accessing outer class instance members |
Static Nested Class | Only static | Yes | Utility grouping |
Local Inner Class | Yes (final vars only) | No | Temporary use inside method |
Anonymous Inner Class | Yes | No | Event handling / one-time use |
Comments
Post a Comment