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:
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 OuterClassSo 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ßerlichDer 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ßerlichDer 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ßerlichDer 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.