In Java helfen Access-Modifikatoren dabei, den Umfang einer Klasse, eines Konstruktors, einer Variablen, einer Methode oder eines Datenelements einzuschränken. Es bietet dem Benutzer Sicherheit, Zugänglichkeit usw., abhängig vom mit dem Element verwendeten Zugriffsmodifikator. Lassen Sie uns in diesem Artikel mehr über Java-Zugriffsmodifikatoren, ihre Typen und die Verwendung von Zugriffsmodifikatoren erfahren.
Arten von Zugriffsmodifikatoren in Java
In Java stehen vier Arten von Zugriffsmodifikatoren zur Verfügung:
- Standard – Kein Schlüsselwort erforderlich
- Privat
- Geschützt
- Öffentlich
1. Standardzugriffsmodifikator
Wenn für eine Klasse, Methode oder ein Datenelement kein Zugriffsmodifikator angegeben ist, spricht man von einem Zugriffsmodifikator Standard Zugriffsmodifikator standardmäßig. Auf die Datenelemente, Klassen oder Methoden, die nicht mit Zugriffsmodifikatoren deklariert sind, d. h. über Standardzugriffsmodifikatoren verfügen, kann zugegriffen werden nur innerhalb desselben Pakets .
In diesem Beispiel erstellen wir zwei Pakete und die Klassen in den Paketen verfügen über die Standardzugriffsmodifikatoren und wir werden versuchen, über eine Klasse des zweiten Pakets auf eine Klasse aus einem Paket zuzugreifen.
Programm 1:
Java
// Java program to illustrate default modifier package p1; // Class Geek is having Default access modifier class Geek { void display() { System.out.println('Hello World!'); } }>
Programm 2:
Huffman-CodierungscodeJava
// Java program to illustrate error while // using class from different package with // default modifier package p2; import p1.*; // This class is having default access modifier class GeekNew { public static void main(String args[]) { // Accessing class Geek from package p1 Geek obj = new Geek(); obj.display(); } }>
Ausgabe:
Compile time error>
2. Privater Zugriffsmodifikator
Der private Zugriffsmodifikator wird mithilfe des Schlüsselworts angegeben Privat . Nur auf die als privat deklarierten Methoden oder Datenelemente kann zugegriffen werden innerhalb der Klasse in dem sie deklariert werden.
- Irgendein anderes Klasse von Die Auf dasselbe Paket kann nicht zugegriffen werden diese Mitglieder.
- Klassen oder Schnittstellen der obersten Ebene können nicht als privat deklariert werden, weil
- privat bedeutet, dass es nur innerhalb der umschließenden Klasse sichtbar ist.
- Geschützt bedeutet, dass es nur innerhalb der umschließenden Klasse und aller Unterklassen sichtbar ist
Daher gelten diese Modifikatoren im Hinblick auf die Anwendung auf Klassen nur für verschachtelte Klassen und nicht für Klassen der obersten Ebene
In diesem Beispiel erstellen wir zwei Klassen A und B innerhalb desselben Pakets p1. Wir werden eine Methode in Klasse A als privat deklarieren und versuchen, von Klasse B aus auf diese Methode zuzugreifen und das Ergebnis zu sehen.
wie man in Java von int in string konvertiertJava
// Java program to illustrate error while // Using class from different package with // Private Modifier package p1; // Class A class A { private void display() { System.out.println('techcodeview.com'); } } // Class B class B { public static void main(String args[]) { A obj = new A(); // Trying to access private method // of another class obj.display(); } }>
Ausgabe:
error: display() has private access in A obj.display();>
3. Modifikator für geschützten Zugriff
Der geschützte Zugriffsmodifikator wird mithilfe des Schlüsselworts angegeben geschützt .
Die als geschützt deklarierten Methoden oder Datenelemente sind zugänglich innerhalb desselben Pakets oder Unterklassen in verschiedenen Paketen.
In diesem Beispiel erstellen wir zwei Pakete p1 und p2. Klasse A in p1 wird öffentlich gemacht, um in p2 darauf zugreifen zu können. Die Methodenanzeige in Klasse A ist geschützt und Klasse B wird von Klasse A geerbt. Auf diese geschützte Methode wird dann zugegriffen, indem ein Objekt der Klasse B erstellt wird.
Programm 1:
Java // Java Program to Illustrate // Protected Modifier package p1; // Class A public class A { protected void display() { System.out.println('techcodeview.com'); } }>
Programm 2:
// Java program to illustrate // protected modifier package p2; // importing all classes in package p1 import p1.*; // Class B is subclass of A class B extends A { public static void main(String args[]) { B obj = new B(); obj.display(); } }>
Ausgabe:
techcodeview.com>
Modifikator für öffentlichen Zugriff
Der öffentliche Zugriffsmodifikator wird mithilfe des Schlüsselworts angegeben öffentlich .
- Der öffentliche Zugriffsmodifikator hat das breitesten Anwendungsbereich unter allen anderen Zugriffsmodifikatoren.
- Klassen, Methoden oder Datenelemente, die als öffentlich deklariert sind, sind von überall erreichbar im Programm. Es gibt keine Einschränkung hinsichtlich des Umfangs öffentlicher Datenelemente.
Programm 1:
Java // Java program to illustrate // public modifier package p1; public class A { public void display() { System.out.println('techcodeview.com'); } }>
Programm 2:
Java package p2; import p1.*; class B { public static void main(String args[]) { A obj = new A(); obj.display(); } }>
Ausgabe:
techcodeview.com>
Wichtige Punkte:
stlc
- Wenn andere Programmierer Ihre Klasse verwenden, versuchen Sie, die restriktivste Zugriffsebene zu verwenden, die für ein bestimmtes Mitglied sinnvoll ist. Verwenden Sie „Privat“, es sei denn, Sie haben einen guten Grund, dies nicht zu tun.
- Vermeiden Sie öffentliche Felder mit Ausnahme von Konstanten.
Algorithmus zur Verwendung von Zugriffsmodifikatoren in Java
Hier ist ein grundlegender Algorithmus für die Verwendung von Zugriffsmodifikatoren in Java:
- Definieren Sie eine Klasse: Erstellen Sie eine Klasse, die das Objekt darstellt, das Sie verwalten möchten.
- Instanzvariablen definieren: Definieren Sie innerhalb der Klasse Instanzvariablen, die die Daten darstellen, die Sie verwalten möchten.
- Geben Sie einen Zugriffsmodifikator an: Geben Sie für jede Instanzvariable einen Zugriffsmodifikator an, der die Sichtbarkeit der Variablen bestimmt. Die drei wichtigsten Zugriffsmodifikatoren in Java sind privat, geschützt und öffentlich.
- Verwenden Sie private für Variablen, auf die nur innerhalb der Klasse zugegriffen werden soll: Wenn Sie den Zugriff auf eine Variable von außerhalb der Klasse verhindern möchten, verwenden Sie den privaten Zugriffsmodifikator. Dies ist der restriktivste Zugriffsmodifikator und bietet den höchsten Grad an Kapselung.
- Verwenden Sie protected für Variablen, auf die innerhalb der Klasse und ihrer Unterklassen zugegriffen werden soll : Wenn Sie den Zugriff auf eine Variable innerhalb der Klasse und ihrer Unterklassen zulassen möchten, verwenden Sie den geschützten Zugriffsmodifikator. Dies ist weniger restriktiv als privat und bietet ein gewisses Maß an Vererbung.
- Verwenden Sie public für Variablen, die von überall aus zugänglich sein sollen : Wenn Sie den Zugriff auf eine Variable von überall aus zulassen möchten, verwenden Sie den Modifikator für den öffentlichen Zugriff. Dies ist der am wenigsten restriktive Zugriffsmodifikator und bietet die geringste Kapselung.
- Verwenden Sie Zugriffs- und Mutatormethoden, um den Zugriff auf die Variablen zu verwalten: Um auf die Variablen zuzugreifen und sie zu ändern, verwenden Sie Zugriffsmethoden (Getter) und Mutatormethoden (Setter), auch wenn die Variablen über einen öffentlichen Zugriffsmodifikator verfügen. Dies bietet eine Abstraktionsebene und macht Ihren Code wartbarer und testbarer.
FAQs zu Zugriffsmodifikatoren
1. Was sind Zugriffsmodifikatoren in Java?
Zugriffsmodifikatoren in Java sind Schlüsselwörter, die zur Steuerung der Verwendung der Methoden, Konstruktoren, Felder und Methoden in einer Klasse verwendet werden.
2. Was ist in Java ungültig?
Void wird in Java verwendet, um bei der Methode keinen Rückgabewert anzugeben.
3. Was sind die 12 Modifikatoren in Java?
12 Modifikatoren in Java sind öffentlich, privat, geschützt, Standard, endgültig, synchronisiert, abstrakt, nativ, strictfp, transient und flüchtig.