Member-only story
A Comprehensive Guide to Java Inner Classes
Introduction
Java provides a feature called inner classes, which allows a class to be defined within another class. Inner classes help in logically grouping classes that are only used within a specific context, making the code more readable and encapsulated.
Types of Inner Classes in Java
Java provides four types of inner classes:
- Member Inner Class
- Static Nested Class
- Local Inner Class
- Anonymous Inner Class
1. Member Inner Class
A member inner class is a non-static class defined within another class. It has access to all members of the outer class, including private members.
Example:
class Outer {
private String message = "Hello from Outer class";
class Inner {
void display() {
System.out.println(message);
}
}
public static void main(String[] args) {
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.display();
}
}2. Static Nested Class
A static nested class is a static class inside another class. It does not have access to instance variables of the outer class unless passed explicitly.








