Heim  >  Artikel  >  Java  >  Anwendung des geschützten Zugriffsmodifikators für Java-Funktionen

Anwendung des geschützten Zugriffsmodifikators für Java-Funktionen

WBOY
WBOYOriginal
2024-04-26 08:21:02608Durchsuche

Antwort: Der geschützte Zugriffsmodifikator ermöglicht Unterklassen und Klassen im selben Paket den Zugriff auf das Mitglied, während der Zugriff auf Klassen in anderen Paketen blockiert wird. Detaillierte Beschreibung: Auf geschützte Mitglieder kann in der definierenden Klasse, Unterklassen und anderen Klassen im selben Paket zugegriffen werden. Klassen in verschiedenen Paketen können nicht auf geschützte Mitglieder zugreifen. Anwendbar für: a) Ermöglichen Sie Unterklassen den Zugriff auf übergeordnete Klassenmitglieder. b) Der Zugriff innerhalb des Pakets ist erlaubt, der Zugriff außerhalb des Pakets ist jedoch blockiert. Beispielsweise kann auf die geschützte Methode getSpeed() der übergeordneten Klasse Vehicle von der Unterklasse Car zugegriffen werden, nicht jedoch von der Klasse Truck, die sich nicht im selben Paket befindet.

Java 函数的访问权限修饰符之 protected 的应用

Zugriffsmodifikatoren für Java-Funktionen: protected

Einführung

In Java ist protected ein Zugriffsmodifikator, der für Methoden, Felder und Konstrukte verwendet wird. Funktion gibt die eingeschränkte Zugriffsebene an. Es ist restriktiver als public, hat aber weniger Zugriff als default. protected 是一个访问权限修饰符,用于为方法、字段和构造函数指定受限访问级别。它比 public 更具限制性,但比 default 访问权限更宽松。

语义

  • protected 成员可以在定义它们的类中、子类中和同一包中的其他类中访问。
  • 对于不同的包中的类,protected 成员无法访问。

应用

protected 访问权限修饰符常用于以下情况:

  • 当希望子类能够访问父类中的成员,但阻止其他类访问时。
  • 当希望在包中提供对成员的访问,但在包外部防止访问时。

实战案例

考虑一个父类 Vehicle,它有一个 protected 方法 getSpeed()

public abstract class Vehicle {
    protected int speed;

    public void getSpeed() {
        // ...
    }
}

Car 类是 Vehicle 的子类,它可以访问 getSpeed() 方法,因为它继承自 Vehicle

public class Car extends Vehicle {
    public void displaySpeed() {
        // 可以访问父类的 protected 方法
        getSpeed();
    }
}

然而,Truck 类与 Vehicle 不在同一个包中,因此它无法访问 getSpeed() 方法。

// Truck 类在一个不同的包中
public class Truck {
    // 无法访问 Vehicle 中的 protected 方法
    // getSpeed();
}

结论

protected

🎜Semantik🎜🎜Auf
  • protected-Mitglieder kann in der Klasse zugegriffen werden, in der sie definiert sind, in Unterklassen und in anderen Klassen im selben Paket.
  • Für Klassen in verschiedenen Paketen kann nicht auf geschützte-Mitglieder zugegriffen werden.
🎜🎜Application🎜🎜🎜protected Der Zugriffsberechtigungsmodifikator wird häufig in den folgenden Situationen verwendet: 🎜
  • Wenn Sie möchten, dass eine Unterklasse dazu in der Lage ist Zugriff auf Mitglieder der übergeordneten Klasse, aber gleichzeitig den Zugriff anderer Klassen verhindern.
  • Wenn Sie Mitgliedern innerhalb eines Pakets Zugriff gewähren, aber den Zugriff außerhalb des Pakets verhindern möchten.
🎜🎜Praktischer Fall🎜🎜🎜Stellen Sie sich eine übergeordnete Klasse Vehicle vor, die über eine geschützte-Methode getSpeed() verfügt . 🎜rrreee🎜Die Klasse Car ist eine Unterklasse von Vehicle und hat Zugriff auf die Methode getSpeed(), da sie von Vehicle erbt code>. 🎜rrreee🎜Allerdings befindet sich die Klasse Truck nicht im selben Paket wie das Vehicle und kann daher nicht auf die Methode getSpeed() zugreifen. 🎜rrreee🎜🎜Fazit🎜🎜🎜protected Zugriffsmodifikatoren bieten eine Möglichkeit, den Zugriff auf Klassenmitglieder einzuschränken und gleichzeitig den Zugriff auf Unterklassen und andere Klassen im selben Paket zu ermöglichen. Dies ist nützlich, wenn Sie Klassen mit Vererbungsbeziehungen entwerfen und Zugriffsrechte in bestimmten Paketen einschränken. 🎜

Das obige ist der detaillierte Inhalt vonAnwendung des geschützten Zugriffsmodifikators für Java-Funktionen. 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