A non-static inner class, often just called an inner class, is a class that is defined inside another class and is associated with an instance of the outer class.
Key Points:
Use Cases:
public class OuterClass {
private String outerInstanceVar = "Outer Instance Variable";
// Non-static inner class
public class InnerClass {
public void display() {
// Can access instance variables of the outer class
System.out.println("Inner Class: " + outerInstanceVar);
}
}
public static void main(String[] args) {
// Create an instance of the outer class
OuterClass outerObject = new OuterClass();
// Create an instance of the inner class
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
innerObject.display();
}
}
Inner Class: Outer Instance Variable