Inner Class in Java4 min read

Java Inner class is also known as the nested class is a class within the class, method, or block declared inside class or interface. The use of the inner class is to group the classes or interfaces logically in one place so that it becomes easy to read and maintain.

Java Inner class is of two types:

A. Non-static nested classes

  • Member inner class
  • Anonymous inner class
  • Local inner class

B. Static nested classes


A. Non-static nested classes in Java: (Inner class)

It is one of the types of java Inner class. As we have learned from the Access modifiers that we cannot declare a class with ‘private’ modifiers. But the inner class, that is the member of the other class is declared then we can have the inner classes as ‘private’.

An inner class is of the following types:

  • Member inner class
  • Anonymous inner class
  • Local inner class

1. Member inner class:

It is a Non-static nested class (inner class) that is declared inside a class and outside all the methods or blocks. If we declare it as private then that inner class cannot be invoked from an object outside the outer class of that inner class.

Syntax for member inner class in Java:

Let us use it in a program:

In the following example, we declare the private inner class within the outer class, which also contains a method ‘displayingInner()’ that instantiates an inner class and invokes the method that is present inside the inner class.

And the Main class instantiates the Outerclass class and invokes the method ‘displayingInner()’, that is the nesting done here.

Note: That the InneerClass cannot be accessed outside the outer class because of its private modifier but it can be accessed by the method inside the OuterClass.

To demonstrate the example if Member inner Class in Java:

Output:

Inner class Acceseed

2. Anonymous inner class:

Anonymous inner class is a class that does not contain the class name. They are used in a class or interface whenever the user needs to override the methods. The declaration and instantiation of the Anonymous inner class are done at the same time.

There are two ways in which this class can be created. They are:

  • First Subclass or maybe abstract
  • Second interface

Let us see it individually:

Example of Anonymous inner class Using class in Java:

Output:

The dog is barking

Example of Anonymous inner class using interface in Java:

Output:

I am a good Dog

3. Local inner class:

The class that is declared within the method of an outer class is called the Local inner class or method-local inner class. As the name suggests local, that is its restriction is within that method only, just like a local variable.

Example to demonstrate the local inner class in Java:

Output:

Outer Class Method
Inner Class Method


B. Static nested classes:

If a class within another class that is the nested class has the static modifier declared in it, then it is called a static nested class. As this class is applied static, it will not be able to access the instance variables and methods of the outer class, it can only access the static member of the outer class.

Example: Accessing static method of a static class in Java,

Output Static nested classes:

I am Inner Class


MORE

Implement Insertion sort Program in C

In this tutorial, we will learn and write a C program to implement insertion sort. Before that you may go through the following topics in …
Read More

C Program for implementation of Selection sort

In this tutorial, we will learn and write a C program to implement selection sort using function. Before that you may go through the following …
Read More

C Program to Delete a Particular element from an Array

In this tutorial, we will write a C program to delete an element in an array by specifying the value. Before that, you should have …
Read More

C Program to sort a String in Ascending order

In this tutorial, we will write a c program to sort a string array in ascending order. Before that, you may go through the following …
Read More

C Program to find Maximum occurring Character in a String

In this tutorial, we will write a program in C to find the maximum occurring character in a string. Before that, you may go through …
Read More

Keith Number Program in C

In this tutorial, we will write a Keith number in C. It is one of the most asked questions in an interview. Before that, you …
Read More