Innere Klasse in Java | Erklärt

Innere Klasse in Java | Erklärt

Java bietet eine Funktion, mit der wir eine Klasse innerhalb einer anderen Klasse erstellen können, die als verschachtelte Klasse oder innere Klasse bezeichnet wird, und die Klasse, in der die innere Klasse hält, wird als äußere Klasse bezeichnet. Die innere Klasse kann auf die gleiche Weise angegeben werden, wie wir ein anderes Klassenattribut oder eine andere Klasse angeben.

In Java können wir eine Klasse mit einem Zugriffsmodifikator nicht deklarieren/erstellen Privatgelände so dass die Klasse von einer anderen Klasse von innen oder außerhalb des Pakets zugegriffen werden kann. Um Sicherheit zu gewährleisten, müssen wir jedoch private Klassen erstellen, und um dies zu tun, können wir innere Klassen erstellen Privatgelände Zugriffsmodifikatoren.

Diese Beschreibung bietet einen umfassenden Leitfaden für innere Klassen in Java, und in dieser Hinsicht müssen wir die folgenden Konzepte verstehen:

  • Was ist die innere Klasse in Java
  • Grundlegende Syntax der inneren Klasse in Java
  • So erstellen und greifen Sie in Java in der inneren Klasse zu und greifen Sie auf
  • So greifen Sie auf Attribute/Methoden der äußeren Klasse zu
  • Private innere Klasse in Java
  • Statische innere Klasse in Java

Lass uns anfangen!

Was ist die innere Klasse in Java

Eine Klasse, die in einer anderen Klasse deklariert/erstellt wird. Es kann auf alle Klassenattribute und Mitgliedsfunktionen der äußeren Klasse zugreifen. Die Hauptmerkmale der inneren Klassen sind erweiterte Sicherheit, Code -Lesbarkeit und Wartbarkeit.

Syntax

Die grundlegende Syntax der inneren Klasse wird im folgenden Snippet beschrieben:

Klasse OuterClass
// Aussagen
Klasse Innerclass
// Aussagen

So erstellen und greifen Sie in Java in der inneren Klasse zu und greifen Sie auf

Die Erstellung der inneren Klassen ist sehr einfach. Wir müssen nur eine Klasse innerhalb einer Klasse erstellen. Um auf die innere Klasse zuzugreifen, müssen wir zunächst eine Instanz/Objekt der äußeren Klasse erstellen und danach können wir das Objekt der inneren/verschachtelten Klasse erstellen.

Beispiel

Das obige Snippet zeigt, wie eine innere Klasse in Java funktioniert.

So greifen Sie auf Attribute/Methoden der äußeren Klasse zu

Die innere Klasse kann auf die Klassenattribute oder Mitgliederfunktionen der äußeren Klasse zugreifen. Das folgende Beispiel bietet ein besseres Verständnis:

Beispiel

Der untergegebene Code-Snippet zugreift auf die Name1 Attribut der äußeren Klasse aus der inneren Klasse:

Klasse äußerlich
String name1 = "John";
Klasse innere
public String name ()
Rückgabe Name1;



public class montclass
public static void main (String [] args)
Äußere obj1 = new outer ();
Äußere.Innere obj2 = obj1.New Inner ();
System.aus.println (obj2.Name());

Der vollständige Code und seine Ausgabe sind im untergegebenen Snippet angezeigt:

Die Ausgabe authentifiziert, dass die innere Klasse erfolgreich auf das Klassenattribut der äußeren Klasse zugreift.

Private innere Klasse in Java

In Java kann eine reguläre Klasse nicht mit dem erstellt werden Privatgelände Zugriffsmodifikator kann jedoch eine innere Klasse mit dem privaten Zugriff erstellt werden und die Objekte außerhalb der Klasse können nicht auf die private innere Klasse zugreifen.

Beispiel

Wenn jemand versucht, auf die private innere Klasse zuzugreifen, macht Java einen Fehler:

Klasse äußerlich
String name1 = "John";
private Klasse innere
String name2 = "Micheal";


public class montclass
public static void main (String [] args)
Äußere obj1 = new outer ();
Äußere.Innere obj2 = obj1.New Inner ();
System.aus.println (obj2.Name2 + "" + obj1.Name1);

Der gesamte Code ist mit Ausnahme des Zugriffsmodifikators der inneren Klasse gleich:

Der obige Snippet verwertet, dass eine äußere Klasse nicht auf die innere Klasse zugreifen kann.

Statische innere Klasse in Java

Eine innere Klasse kann auch mit dem statischen Zugriffsmodifikator erstellt werden, und der Vorteil einer statischen inneren Klasse besteht darin, dass das Objekt des Objekts nicht erstellt werden muss äußere Klasse für die Erstellung von Objekt von Statische innere Klasse.

Die Instanz/das Objekt der statischen Klasse kann mit der folgenden Syntax erstellt werden:

Außenklasse.Innerklasse OBJ = New OuterClass.Innerclass ();

Beispiel

Klasse äußerlich
String name1 = "John";
statische Klasse innere
String name2 = "Micheal";


public class montclass
public static void main (String [] args)
Äußere.Innere obj2 = neuer äußeres.Innere();
System.aus.println (obj2.name2);

Der vollständige Code und die jeweilige Ausgabe werden so verlaufen:

A statisch Die innere Klasse ist nicht in der Lage, auf die Klassenattribute oder Methoden der äußeren Klasse zuzugreifen:

Das obige Code -Snippet verwertet, dass die statische innere Klasse nicht auf das Mitglied der äußeren Klasse zugreifen kann.

Abschluss

In Java kann eine Klasse in einer anderen Klasse erstellt werden, die als innere Klasse bezeichnet wird, und um zuerst eine innere Klasse zu erstellen. A private innere Klasse kann auch in java erstellt werden und kann nicht aus der äußeren Klasse zugreifen. Darüber hinaus in a Statische innere Klasse, Es ist nicht nötig, das Objekt der zu erstellen äußere Klasse, um auf die innere statische Klasse zuzugreifen, und es kann nicht auf die Klassenmitglieder der äußeren Klasse zugreifen.