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