Zugangsmodifikatoren in Java
Dieser Abschnitt bietet einen tiefen Einblick in den Zugriffsmodifikatoren in Java. Sie erhalten eine detaillierte Beschreibung jedes Modifikators, der anhand eines Beispiels demonstriert wird.
Öffentlicher Zugangsmodifikator
Wie der Name des Modifikators hervorgeht, ist er am wenigsten sicher und die Klassen, Methoden, Instanzen, die mithilfe öffentlicher Schlüsselwörter deklariert sind, haben die folgenden Optionen für Barrierefreiheit:
- Sie können innerhalb des Pakets/der Klasse außerhalb des Pakets/der Klasse zugegriffen werden
Beispiel
Paket Newpack;Der oben geschriebene Code hat die folgende Beschreibung:
- Eine öffentliche Klasse und eine öffentliche Methode werden erklärt, die eine Drucklinienerklärung enthält.
Das Bild des Codes wird hier bereitgestellt:
Die Klassenmethode benannt zeigen Im obigen Code wird in der zweiten Klasse wie unten gezeigt aufgerufen:
Paketmod;Der Code wird unten beschrieben
- der Paketname Newpack der Klasse wird importiert
- ein Objekt der Klasse AccessMod (Klasse, die sich im Paket benannt befinden Newpack) geschaffen
Das Bild von Code und Ausgabe ist unten dargestellt:
Aus der obigen Ausgabe wird der Schluss gezogen, dass die öffentlichen Zugriffsmodifikatoren auf die Objekte einer Klasse zugreifen können, die sich auch außerhalb dieser Klasse und des Pakets befindet.
Privater Zugangsmodifikator
Im Gegensatz zur öffentlichen Klasse können private Methoden/Varibales nur innerhalb der Klasse zugegriffen werden. Auf eine private Methoden/Variablen kann nicht zugegriffen werden:
- außerhalb des Pakets
- Innerhalb des Pakets (aber außerhalb der Klasse)
Beispiel 1: Außerhalb des Pakets
Paket Newpack;Die Beschreibung des Codes ist unten bereitgestellt:
- Die Showmethode wird mit einem privaten Modifikator deklariert
Jetzt versucht der folgende Code, die Showmethode aus der Ausführung von der Ausführung AccessMod Klasse.
Paketmod;Eine neue Klasse namens Accesm wird im Mod -Paket erstellt. Der Newpack Das Paket wird in diesem Paket importiert, da wir ein Objekt der genannten Klasse erstellen müssen AccessMod (Das wohnt in Newpack's Klasse).
Aus der Ausgabe geht hervor, dass AccessMod und auf die zugeordneten Objekte außerhalb des Pakets nicht zugegriffen werden konnten.
Beispiel: Außerhalb der Klasse (gleiches Paket)
Paket LH;Der Code wird als beschrieben als,
- eine Klasse namens Prim wird erstellt in lh Paket. Der Prim Klasse enthält eine private Methode, die benannt ist Pvt.
Um den privaten Zugriffsmodifikator zu überprüfen, wird der unten angegebene Code verwendet.
Paket LH;Das Paket beider Klassen ist gleich, aber die Klasse mit dem Namen Second versucht, ein Objekt von PVT () zu erstellen. Die PVT () ist eine Methode in Prim Klasse.
Es wird aus der Ausgabe beobachtet, die, pvt () Die Methode kann aufgrund des privaten Zugriffsmodifikators nicht zugegriffen werden.
Standard -Zugriffsmodifikator
Die mit Standard -Schlüsselwörter deklarierten Datenmitglieder sind nur innerhalb desselben Pakets zugegriffen. Es liegt zwischen privaten und geschützten Zugangsmodifikatoren und ist daher sicherer als geschützt und am wenigsten sicher als privat.
Beispiel 1: Außerhalb des Pakets
Paket Newpack;Die Beschreibung des Codes lautet wie folgt,
- Eine Standardklasse wird erstellt genannt Def und es enthält die Hauptmethode
- In der Hauptmethode wird eine Druckleitungsanweisung ausgeführt
Um die Zugänglichkeit der Standardklasse zu testen, werden die folgenden Codezeilen verwendet.
Paket LH;Der Code wird als beschrieben als,
- importierte das benannte Paket Newpack
- erstellte eine neue Klasse flink
- Erstellte ein Objekt der Klasse Def in der Hauptmethode der flink Klasse
Die Ausgabe zeigt, dass die Zugänglichkeit der Def Die Klasse muss in die Öffentlichkeit geändert werden, um in einer Klasse anderer Pakete zugegriffen zu werden.
Beispiel 2: Außerhalb der Klasse (innerhalb desselben Pakets)
Der folgende Code erstellt eine Standardmethode für eine Klasse mit dem Namen Prim.
Paket LH;Eine Standardmethode benannt Pub () ist in der Klasse definiert Prim.
Um seine Zugriffsfähigkeit zu überprüfen, schauen wir uns den folgenden Code an.
Paket LH;Ein Objekt der Pub () Die Methode wird in einer anderen Klasse erstellt (die sich im selben Paket befindet).
Es wird aus der Ausgabe beobachtet, dass das Objekt der Pub () Die Methode wird erfolgreich ausgeführt und daher wird der Schluss gezogen, dass die mit Standardzugriffsmodifikatoren deklarierten Methoden innerhalb desselben Pakets, jedoch in verschiedenen Klassen, verwendet werden können.
Schutzmodifikator
Die Methoden oder Datenelemente, die mit geschützten Schlüsselwörtern deklariert werden, sind in der Klasse oder den anderen Klassen im selben Paket zugänglich. Es kann nicht außerhalb des Pakets zugegriffen werden, aber eine Unterklasse der anderen Pakete kann auf die geschützten Methoden zugreifen.
Beispiel: Verwenden der Unterklasse desselben Pakets
Paket Newpack;Die Messe () -Methode wird mit geschützten Privilegien deklariert:
Auf die Methode wird in der zugegriffen Accessm (Unterklasse des gleichen Pakets, in dem die AccessMod Lügen) und der Prozess wird mit dem folgenden Code durchgeführt:
Paket Newpack;Das Ausgabebild des Codes ist unten bereitgestellt:
Lassen Sie uns nun den Unterschied zwischen Standard- und geschützten Zugriffsmodifikatoren anhand des folgenden Beispiels erläutern. Die Standardzugriffsmodifikatoren können nicht von Unterklassen (außerhalb des Pakets) zugegriffen werden. Wir können jedoch auf eine geschützte Methode mit einer Unterklasse zugreifen.
Beispiel 2: Verwenden der Unterklasse anderer Pakete
Paket LH;Im obigen Code wird in einer Klasse eine geschützte Methode deklariert, die eine einfache Drucklinie -Anweisung enthält.
Der unten geschriebene Code erstellt und greifen auf das Objekt der im obigen Bild gezeigten geschützten Methode zu und greifen zugänglich zu.
Paket Newpack;Das würden Sie beobachten,
- das Paket lh wird in das Paket importiert Newpack
- eine Unterklasse (von Protokoll Klasse) benannt Protmod wird deklariert
- Objekt der protmod genannten Klasse obj wird verwendet, um den Inhalt des Anzeige() Methode von Protokoll Klasse).
Die Ausgabe zeigt, dass die Anzeige() Methode im Inneren der enthalten Protokoll Klasse wird in der Unterklasse der verwendet Protokoll Klasse.
Abschluss
Mit den Zugriffsmodifikatoren von Java können Sie die Zugangsniveau von Methoden, Klassen, Variablen und Konstruktoren bestimmen. Dieser Artikel bietet die Funktionalität der Zugriffsmodifikatoren, die in Java verwendet werden können. Die Zugriffsmodifer wie private, öffentliche, geschützte und standardmäßige Ausfälle werden anhand verschiedener Beispiele ausgeübt. Zuletzt wird der Schluss gezogen, dass die privaten Modifikatoren die sichere Plattform festlegen, während die öffentlichen Modifikatoren als die am wenigsten sicheren als die am wenigsten sicher sind.