Sitemap

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:

  1. Member Inner Class
  2. Static Nested Class
  3. Local Inner Class
  4. 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.

Example:

--

--