Zugangsmodifikatoren in Java

Zugangsmodifikatoren in Java
Der Zugriffsmodifikator ist eine objektorientierte Terminologie, mit der die Zugänglichkeit von Klassen, Methoden und Konstruktoren definiert wird. Als objektorientierte Programmierung unterstützt Java vier verschiedene Ebenen von Zugriffsmodifikatoren und jeder Zugriffsmodifikator arbeitet auf einer anderen Ebene. Die Zugriffsmodifikatoren können einer der folgenden, standardmäßig, öffentlichen, privaten und geschützten sein. Die Auswahl des Zugriffsmodifikators hängt von dem Problem ab, das Sie lösen werden. Diese deskriptive Anleitung demonstriert die Funktionalität von Zugriffsmodifikatoren in Java.

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;
öffentliche Klasse AccessMod

öffentliche void show ()

System.aus.println ("Willkommen bei LinuxHint!");

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;
Newpack importieren.*;
Klasse Accessm
öffentliche statische Leere Main (String args [])

AccessMod obj = new AccessMod ();
obj.zeigen();

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;
Klasse AccessMod

Private void Show ()

System.aus.println ("LinuxHint!");

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;
Newpack importieren.*;
Klasse Accessm
öffentliche statische Leere Main (String argos [])

AccessMod obj = new AccessMod ();
obj.zeigen();

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;
Klasse Prim
private void pvt ()
System.aus.println ("LinuxHint");

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;
Klasse Sekunde
public static void main (String [] main)
Prim obj = new prim ();
obj.pvt ();

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;
Klasse def
statische void main (String [] args)
System.aus.println ("eine Standardklasse");

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;
Newpack importieren.*;
Klassengefälle
statische void main (String [] args)
Def test = new Def ();
prüfen.hauptsächlich();

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;
Klasse Prim
void pub ()
System.aus.println ("Standard -Zugriffsmodifikator");

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;
Klasse Sekunde
public static void main (String [] main)
Prim obj = new prim ();
obj.Pub ();

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;
Klasse AccessMod

geschützte void show ()

System.aus.println ("LinuxHint!");

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;
Klasse Accessm erweitert AccessMod
öffentliche statische Leere Main (String args [])

AccessMod obj = new AccessMod ();
obj.zeigen();

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;
öffentliche Klasse prot
geschützte void display ()
System.aus.println ("Willkommen bei LinuxHint!");

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;
import lh.*;
Class ProtMod erweitert Protokoll
öffentliche statische Leere Main (String args [])

protmod obj = new protmod ();
obj.Anzeige();

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.