Heim  >  Artikel  >  Java  >  Der Unterschied zwischen öffentlichen und geschützten Zugriffsmodifikatoren in Java

Der Unterschied zwischen öffentlichen und geschützten Zugriffsmodifikatoren in Java

WBOY
WBOYnach vorne
2023-09-17 20:49:02824Durchsuche

Der Unterschied zwischen öffentlichen und geschützten Zugriffsmodifikatoren in Java

Die öffentlichen und geschützten Zugriffsmodifikatoren bestimmen, wie auf Mitglieder einer Klasse oder Methode zugegriffen wird. Modifikatoren werden bei der Deklaration an Mitglieder angehängt. Wir wissen, dass diese Zugriffsmodifikatoren eine wichtige Rolle in Java-Oops-Konzepten wie Kapselung, Polymorphismus und Vererbung spielen. Es trägt dazu bei, den Missbrauch der durch die Mitgliedschaft bereitgestellten Funktionen zu verhindern. Wir werden versuchen, öffentliche und geschützte Zugriffsmodifikatoren in Java anhand eines Beispielprogramms zu verstehen.

Zugriffsmodifikatoren in Java

Öffentlicher Zugriffsmodifikator

Java schränkt die Zugänglichkeit öffentlicher Mitglieder nicht ein. Auf alles, was als öffentlich deklariert ist, kann überall zugegriffen werden, was bedeutet, dass wir innerhalb der Klasse, außerhalb der Klasse, innerhalb des Pakets und außerhalb des Pakets darauf zugreifen können. Möglicherweise ist Ihnen aufgefallen, dass die Methode main() in Java immer als öffentliche Methode definiert ist, sodass sie von jeder JVM außerhalb des Gültigkeitsbereichs des aktuellen Programms aufgerufen werden kann.

Einige Beispiele für Modifikatoren für den öffentlichen Zugriff -

public int i1 = 108;
public double d2 = 6.55;

Hier wird die Variable als öffentlich deklariert.

Beispiel

Das folgende Beispiel veranschaulicht, wie Paketmitglieder in Java funktionieren.

class Pack {  
   public void prnt() { 
      // method declared as public 
      String msg = "I am inside a public method";
      System.out.print(msg);
   }  
}  
public class ClassShow extends Pack { 
   // public child class
   public static void main(String args[]) { 
      // creating object of child class
      ClassShow obj = new ClassShow();  
      // method calling through object of child class
      obj.prnt();
   }  
}  

Ausgabe

I am inside a public method

Im obigen Code ist die Klasse „Pack“ die übergeordnete Klasse von „ClassShow“. In der übergeordneten Klasse haben wir eine öffentliche Methode namens „prnt()“ deklariert, um eine einfache Nachricht zu drucken. In der main()-Methode der Unterklasse definieren wir ein Objekt der Unterklasse „ClassShow“, um die öffentliche Methode „prnt()“ aufzurufen. Auch hier sind die Unterklassen öffentlich.

Geschützter Zugriffsmodifikator

Wird hauptsächlich im Fall der Vererbung verwendet, um den Zugriff auf übergeordnete Klassenmitglieder und entsprechende Unterklassenmitglieder zu steuern. Es ermöglicht den Zugriff auf Elemente außerhalb des aktuellen Pakets, jedoch nur auf direkte Unterklassen der Klasse. Hier ist ein Paket ein Container, der eine Reihe von Klassen enthält.

Einige Beispiele für geschützte Zugriffsmodifikatoren -

protected int data1 = 5;
protected double data2 = 5.55;

Hier wird die Variable als geschützt deklariert.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung geschützter Methoden in Java.

class Pack {  
   protected void prnt() {
      String msg = "Tutorials Point!!";
      System.out.print("Welcome to " + msg);
   }  
}  
public class ClassShow extends Pack {  
   public static void main(String args[]) { 
      // creating object of child class
      ClassShow obj = new ClassShow();  
      // method calling through object of child class
      obj.prnt();  
   }  
}  

Ausgabe

Welcome to Tutorials Point!!

Im obigen Code ist die Klasse „Pack“ die übergeordnete Klasse von „ClassShow“. In der übergeordneten Klasse deklarieren wir eine geschützte Methode namens „prnt()“, um eine einfache Nachricht zu drucken. In der main()-Methode der Unterklasse definieren wir ein Objekt der Unterklasse „ClassShow“, um die geschützte Methode „prnt()“ aufzurufen.

Öffentliche vs. geschützte Zugriffsmodifikatoren

Aus der obigen Diskussion können wir die folgenden Unterschiede zwischen öffentlichen und privaten Zugriffsmodifikatoren ableiten –

Öffentlich

Geschützt

Wir müssen das Schlüsselwort „public“ verwenden, um anzugeben, dass das Mitglied öffentlich ist.

Wir verwenden das Schlüsselwort „protected“, um anzugeben, dass Mitglieder geschützt sind.

Wir können jede Klasse als öffentliche Klasse definieren.

Klassen können nicht als geschützt definiert werden.

Auf öffentliche Mitglieder kann jede Klasse innerhalb und außerhalb des Pakets zugreifen.

Auf geschützte Mitglieder kann sowohl innerhalb des Pakets als auch in anderen Paketen zugegriffen werden. Bei anderen Paketen kann jedoch nur über geerbte Klassen darauf zugegriffen werden.

Gilt sowohl für Premier als auch für Mitglieder.

Nur auf Mitgliedschaftsebene verfügbar.

Fazit

Wir haben zunächst die öffentlichen und geschützten Zugriffsmodifikatoren definiert und sie in den späteren Abschnitten ausführlich anhand entsprechender Beispiele erläutert. Abschließend diskutieren wir einige der Unterschiede zwischen ihnen.

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen öffentlichen und geschützten Zugriffsmodifikatoren in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen