Heim >Java >javaLernprogramm >Zugriffsmodifikatoren in Java
Wie wir alle wissen, ist Java eine der besten Programmiersprachen der Welt. Milliarden von Geräten verlassen sich seit zwei Jahrzehnten darauf. Java ist eine schnelle, zuverlässige, sichere und plattformübergreifende Sprache. Java läuft auf jedem Gerät, solange dieses Gerät über Java Runtime (JRE) verfügt, wodurch es plattformübergreifend, schnell und zuverlässig ist. Der Zugriffsmodifikator ist eine Eigenschaft von Java und macht ihn auf mehreren Plattformen sicher. Java bietet dem Programmierer Sicherheit auf Klassenebene (während der Kapselung), indem es die Eigenschaft „Zugriffsmodifikator“ verwendet. Laut dem Buch ist die Klasse der Bauplan für die Erstellung eines Objekts in Java, was sie zu einem „Baustein“ für das Programm macht, da Java eine objektorientierte Sprache ist. Ein Zugriffsmodifikator gibt an, wie jede Klasse auf eine bestimmte Klasse und ihre Felder, Konstruktoren und Methoden in verschiedenen Paketen zugreifen kann. Klassen, Felder, Konstruktoren und Methoden können einen von vier verschiedenen Java-Zugriffsmodifikatoren haben.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Die folgende Tabelle fasst zusammen, wie wir Java-Zugriffsmodifikatoren auf das Programm anwenden können:
Modifiers | Class | Packages | Sub-Class | World |
Private | Y | N | N | N |
Public | Y | Y | Y | Y |
Protected | Y | Y | Y | N |
Default | Y | Y | N | N |
Wir werden jeden Java-Zugriffsmodifikator in den folgenden Abschnitten behandeln.
Wenn eine Klasse, ein Datenelement und eine Variable ohne Schreiben mit einem Zugriffsmodifikator deklariert wird, wird sie auf den „Standard“-Zugriffsmodifikator gesetzt. Der Zugriffsmodifikator „Standard“ bedeutet, dass der Code in jeder Klasse auf das gesamte Programm innerhalb desselben Pakets zugreifen kann.
Beispiel #1:
//Java program to show the default modifier. package Test; //Where Class eduCBA is having Default access modifier as no access modifier is specified here class eduCBA { void display () { System.out.println("Hello World!"); } }
Ausgabe:
Hallo Welt!
Beispiel #2:
//Java program to show error while using class from different package with default modifier package test2; import test.*; //This class check is having default access modifier class Check { public static void main(String args[]) { //accessing class eduCBA from package test eduCBA obj = new eduCBA(); obj.display(); } }
Ausgabe:
Fehler bei der Kompilierung.
Syntax „geschützt“ wird von Benutzern verwendet, wenn sie diesen Zugriffsmodifikator verwenden möchten.
Zum Beispiel:
//Java program to show to protected access modifier package test; //Class eduCBA public class eduCBA { protected void display () { System.out.println("Hello World!"); } } //Java program to show to protected modifier in same sub-classes of different packages package test2; import test.*; //Class pro is subclass of eduCBA class pro extends eduCBA { public static void main(String args[]) { pro obj = new pro(); obj.display(); } }
Ausgabe:
Hallo Welt!
Benutzer können eine Klasse, Methode, einen Konstruktor und eine Schnittstelle mit einem „öffentlichen“ Zugriffsmodifikator deklarieren, auf den jede Klasse, Methode, jeder Konstruktor und jede Schnittstelle innerhalb oder in anderen Paketen zugreifen kann.
Zum Beispiel: –
//Java program to show to public access modifier package test; public class eduCBA { public void display () { System.out.println("Hello World!"); } } package test2; import test.*; class pub { public static void main (String args []) { eduCBA obj = new eduCBA (); obj.display (); } }
Ausgabe:
Hallo Welt!
Wenn eine Methode oder Variable als „private“ Zugriffsmodifikatoren markiert ist, kann Code innerhalb derselben Klasse nur auf diese Methoden und Variablen zugreifen.
Der Benutzer kann im Programm keine Superklasse mit einem „privaten“ Zugriffsmodifikator deklarieren. Wenn der Benutzer dies mit einer Klasse tut, wird diese Klasse für keine andere Klasse im selben Paket zugänglich gemacht, sodass die Klasse keinen Nutzen mehr hat. Allerdings kann der Benutzer Variablen und Methoden innerhalb der Klasse mit einem „privaten“ Zugriffsmodifikator deklarieren, sodass niemand diese Variablen und Methoden verwenden kann.
Gelegentlich wurden die Zugriffsmodifikatoren „privat“ und „geschützt“ verwechselt, aber beide sind unterschiedlich.
Zum Beispiel: –
//Program to show error while using a class from different packages with private modifier. package test; class eduCBA { private void display() { System.out.println("Hello World!"); } } class Check { public static void main (String args[]) { eduCBA obj = new eduCBA(); //make class check to access private method of another class eduCBA. obj.display(); } }
Ausgabe:
Fehler: display() hat privaten Zugriff in eduCBA obj.display();
Der Java-Zugriffsmodifikator verschafft Ihnen einen zusätzlichen Vorteil gegenüber Ihrem Programm, wenn Sie es öffentlich machen. Wie wir oben untersucht haben, verschiedene Arten von Zugriffsmodifikatoren in JAVA und ihre Spezifikation.
Denken Sie also jedes Mal daran, wenn Sie eine davon als Klassen- oder Schnittstellenzugriff verwenden, da sie nicht nur Zugriff gewähren, sondern diese auch überschreiben. Zwar gibt es immer Bedenken hinsichtlich der Zugänglichkeit der Methode im Programm. Wenn einer Schnittstelle beispielsweise der Zugriffsmodifikator „Standard“ in der Oberklasse zugewiesen wird, kann sie Zugriffsmodifikatoren überschreiben, die in der Unterklasse der Methode verwendet werden.
Hinweis: Die Klasse umfasst Variablen, Konstruktoren, Felder und Methoden, und die Schnittstelle enthält bestimmte Felder oder Methoden.Das obige ist der detaillierte Inhalt vonZugriffsmodifikatoren in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!