Java Nested Classes — Free Java Tutorial
Learn Java Nested Classes in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.
TL;DR: Learn Java Nested Classes in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.
Written & reviewed by the Syllab.in Academic Team (CBSE/NCERT subject experts) · Updated
Java Nested Classes in Java
Java allows classes to be defined inside other classes. There are four types: static nested class, inner class (non-static), local class (defined inside a method), and anonymous class.
A static nested class belongs to the outer class itself, not to any instance. It can only access static members of the outer class.
An inner class (non-static) is associated with an instance of the outer class and can access all outer class members including private ones.
Anonymous classes are often used to provide a one-time implementation of an interface or abstract class — largely replaced by lambda expressions in modern Java.
Java Nested Classes — Syntax
class Outer {
private int x = 10;
static class StaticNested {
void show() { System.out.println("Static nested"); }
}
class Inner {
void show() { System.out.println("x = " + x); }
}
}
Outer.StaticNested sn = new Outer.StaticNested();
Outer.Inner inner = new Oute
Learn Java Nested Classes step by step with Syllab's free interactive Java tutorial — runnable code examples, practice exercises and instant AI feedback, all free with no signup. Explore the full Java course →