Heim  >  Artikel  >  Java  >  Geschütztes Schlüsselwort in Java

Geschütztes Schlüsselwort in Java

WBOY
WBOYOriginal
2024-08-30 15:22:35266Durchsuche

Geschützte Schlüsselwörter sind Schlüsselwörter, die verwendet werden, um den Bereich einzuschränken, in dem auf die Variable, Methode und Konstruktoren zugegriffen werden kann. Es handelt sich um eine der Arten von Zugriffsmodifikatoren in Java. Sie werden verwendet, um den Umfang von Methoden, Variablen, Konstruktoren und Klassen zu unterscheiden. In Java gibt es vier Arten von Zugriffsmodifikatoren:

WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 Probetests
  1. Standardschlüsselwort: Auf sie kann nur innerhalb des Pakets zugegriffen werden und sie können nicht außerhalb des Pakets aufgerufen werden. Wie der Name schon sagt, wird es automatisch als Standard zugewiesen, wenn kein Zugriffsspezifizierer erwähnt wird.
  2. Öffentliches Schlüsselwort: Sie können von überall im Programm aus aufgerufen werden. Dies bedeutet, dass es aus derselben oder verschiedenen Klassen und demselben oder einem anderen Paket verwendet werden kann.
  3. Privates Schlüsselwort: Sie beschränken die Schlüsselwörter auf eine höhere Ebene, indem sie den Zugriff von irgendwo außerhalb der Klasse selbst nicht zulassen.
  4. Geschütztes Schlüsselwort: In diesem Artikel erfahren wir mehr über geschützte Schlüsselwörter.

Sobald eine Variable oder Methode als geschützt markiert ist, kann nur mit den folgenden Methoden darauf zugegriffen werden:

  • Innerhalb derselben Klasse, in der es deklariert ist.
  • Aus anderen Klassen, die sich ebenfalls im selben Paket wie die deklarierte Klasse befinden.
  • Klassen werden von der deklarierten geerbt, unabhängig von ihrem Paket.

Geschützte Schlüsselwörter sind wie eine Kombination aus öffentlichen und privaten Schlüsselwörtern, da sie eingeführt wurden, um auf Variablen außerhalb der Klasse zuzugreifen (was bei privaten Schlüsselwörtern nicht möglich ist) und um sicherzustellen, dass nur bestimmte Methoden dieselben erben können.

Syntax

Geschützte Schlüsselwörter werden mit dem vorangestellten Schlüsselwort als „geschützt“ deklariert. Wir deklarieren zunächst das geschützte Schlüsselwort in einer der Klassen namens „MyClass“ wie folgt:

class MyClass {
protected String name = "Katy";
protected int token= 55;
}
public class SubClass extends MyClass {
public static void main(String[] args) {
SubClass obj = new SubClass();
System.out.println(obj.name + "'s token number is: " + obj.token);
}
}

Hier erweitert die Klasse „SubClass“ „MyClass“, und daher kann das geschützte Schlüsselwort hier verwendet werden, indem ein Objekt von SubClass erstellt und die Variablen aufgerufen werden.

Ausgabe:

 Geschütztes Schlüsselwort in Java

Geschützte Schlüsselwörter können nur auf Mitgliedsebene verwendet werden, d. h. innere Klassen, die außerhalb einer Funktion deklariert und nicht statisch sind. Das geschützte Schlüsselwort unterscheidet sich von dem Schlüsselwort private, da auf es außerhalb einer Klasse und in der Unterklasse eines anderen Pakets zugegriffen werden kann.

Einige der Einschränkungen bei der Verwendung geschützter Schlüsselwörter sind:

  • Sie können nicht dazu verwendet werden, Klassen als geschützt zu deklarieren.
  • Schnittstellen können nicht als geschützt deklariert werden.
  • Der Zugriff außerhalb des Pakets erfolgt nur durch Vererbung.
  • Auf einen Konstruktor, der geschützt ist, kann außerhalb des Pakets nicht durch Erstellen seiner Instanz zugegriffen werden.

Beispiele für geschützte Schlüsselwörter in Java

Lassen Sie uns einige Beispiele durchgehen, anhand derer wir das Konzept geschützter Schlüsselwörter besser verstehen können.

1. Aufrufen des geschützten Schlüsselworts ohne Erweiterung der übergeordneten Klasse

Hier versuchen wir, das Schlüsselwort aus der übergeordneten Klasse von „package1“ aufzurufen. „ProtectedExample2“ wird in „package2“ erstellt und das Schlüsselwort „disp“ wird hier aufgerufen. Der Code kann jedoch nicht auf das Schlüsselwort zugreifen, da die untergeordnete Klasse ihren Wert nicht von der Hauptklasse geerbt hat und wie gezeigt eine Ausnahme auslöst.

Code:

package com.package1;
public class Example {
protected String disp="Printing message from protected variable from package1";
}
//Create new package as com.package2
//Create new class as ProtectedExample2
package com.package2;
import com.package1.Example;
public class ProtectedExample2 {
public static void main(String[] args) {
ProtectedExample2 a=new ProtectedExample2();
System.out.println(a.disp);
}
}

Ausgabe:

Geschütztes Schlüsselwort in Java

2. Zugriff auf eine geschützte Klasse

In diesem Beispiel versuchen wir, auf die Klasse „ProtectedExample5“ zuzugreifen, die geschützt ist. Dies führt zu einem Kompilierungsfehler.

Code:

protected class ProtectedExample5 {
void display()
{
System.out.println("Try to access outer protected class");
}
public static void main(String[] args) {
ProtectedExample5 p=new ProtectedExample5();
p.display();
}
}

Ausgabe:

Geschütztes Schlüsselwort in Java

3. Anzeige eines geschützten Schlüsselworts aus demselben Paket, aber einer anderen Klasse

Im folgenden Beispiel erstellen wir zunächst ein Paket namens „com.package1“ und erstellen eine neue Klasse mit dem Namen „Example“. Hier erklären wir, dass unser Schlüsselwort „disp“ geschützt ist. Wir werden versuchen, dieses geschützte Schlüsselwort mithilfe der Klasse „Example1“ anzuzeigen. Dazu muss zunächst ein Objekt der übergeordneten Klasse „Example1“ erstellt und dann der dem Schlüsselwort „disp“ zugewiesene Wert ausgegeben werden.

Code:

package com.package1;
public class Example {
protected String disp="Printing message from protected variable from package1";
}
class Example1 {
public static void main(String[] args) {
Example obj=new Example();
System.out.println(obj.disp);
}
}

Ausgabe:

Geschütztes Schlüsselwort in Java

4. Displaying protected keyword from a different package

Using the same code as above, we shall see how to call the protected keyword by creating a different package, “package2”. A protected keyword can be accessed only through inheritance from package1; hence “ProtectedExample2” is extended from “Example”. In a similar way as the first example, we have to create an object of the class “ProtectedExample2” in order to access the protected keyword from package “com.package1”.

Code:

package com.package2;
import com.package1.Example;
public class ProtectedExample2 extends Example{
public static void main(String[] args) {
ProtectedExample2 a=new ProtectedExample2();
System.out.println(a.disp);
}
}

Output:

Geschütztes Schlüsselwort in Java

5. Accessing a protected class by overriding to sub-class

Here the class is declared as protected inside the inherited class “Example5”. Also, a protected class called “Example” is declared outside the function but in the same package. When an object of “Example5” is created and the protected class “disp()” is called, we can observe that the overridden method is called instead of the outside class. This is because we shall not be able to import “com.package1” and its class “Example” since it is not visible and causes a compilation error.

Code:

//Create a file by Example.java
package com.package1;
class Example
{
protected void disp()
{
System.out.println("Printing from protected class in the outside function");
}
}
//Create a class by the name Example5.java
public class Example5 extends Example {
protected void disp()
{
System.out.println("Accessing the overriden function");
}
public static void main(String[] args) {
Example5 exp=new Example5();
exp.disp();
}
}

Output:

Geschütztes Schlüsselwort in Java

Importance of Protected Keyword

The importance of protected keyword in java is:

  • These keywords allow the classes or their variables to be inherited from their parent class which is not possible with any other restricted keyword such as private.
  • A protected keyword is the combination of a private keyword’s advantage and that of a public keyword. It eliminates the disadvantage of public keyword that the variable or class be accessible from anywhere in the program by restricting the scope.

Conclusion

As shown in the above examples, we choose protected keywords depending on the access level we require at the code level. They help greatly in cases where the same variable or class needs to be accessed from other inherited methods in the program. A parent-child relationship is always present between the parent class and its sub-classes which are using the protected keyword.

Das obige ist der detaillierte Inhalt vonGeschütztes Schlüsselwort in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java-SchlüsselwörterNächster Artikel:Java-Schlüsselwörter