Understanding Inner Classes in Java: Real-Time Example
Inner classes in Java provide a way to logically group classes within another class. They are particularly useful for encapsulation and code organization. In this blog post, we'll explore the concept of inner classes with a real-time example.
1. Regular Outer Class
Let's start with a simple example of an outer class without any inner classes:
public class OuterClass {
private String outerMessage;
public OuterClass(String message) {
this.outerMessage = message;
}
public void displayMessage() {
System.out.println("Outer Message: " + outerMessage);
}
}
2. Inner Class Example
Now, let's introduce an inner class within the OuterClass:
public class OuterClass {
private String outerMessage;
public OuterClass(String message) {
this.outerMessage = message;
}
public void displayMessage() {
System.out.println("Outer Message: " + outerMessage);
}
// Inner class
public class InnerClass {
private String innerMessage;
public InnerClass(String message) {
this.innerMessage = message;
}
public void displayInnerMessage() {
System.out.println("Inner Message: " + innerMessage);
}
}
}
3. Real-Time Example: Using Inner Class
Let's create an instance of the OuterClass and its inner class, and use them in a real-time scenario:
public class InnerClassExample {
public static void main(String[] args) {
// Create an instance of OuterClass
OuterClass outerInstance = new OuterClass("Hello from Outer");
// Display outer message
outerInstance.displayMessage();
// Create an instance of InnerClass using OuterClass instance
OuterClass.InnerClass innerInstance =
outerInstance.new InnerClass("Hi from Inner");
// Display inner message
innerInstance.displayInnerMessage();
}
}
This example demonstrates how an inner class can be used within the context of its outer class. It allows for a logical grouping of related classes and better encapsulation.
Conclusion: Inner Classes for Encapsulation
Inner classes in Java provide a powerful way to organize and encapsulate related classes. They are especially useful when a class is only used in the context of another class. By understanding inner classes, you can enhance code readability and maintainability in your Java projects.
Happy coding with inner classes!
Post a Comment