Heim  >  Artikel  >  Java  >  Die Beziehung zwischen Java-Funktionszugriffsmodifikatoren und Vererbung

Die Beziehung zwischen Java-Funktionszugriffsmodifikatoren und Vererbung

WBOY
WBOYOriginal
2024-04-25 15:24:021110Durchsuche

Zugriffsberechtigungsmodifikatoren bestimmen den Zugriffsbereich von Klassen, Methoden und Feldern und spielen eine wichtige Rolle bei der Vererbung: öffentlich: Ermöglicht den Zugriff auf alle Klassen und Unterklassen. geschützt: Ermöglicht den Zugriff durch Klassen und ihre Unterklassen im selben Paket. Standard: Zugriff auf Klassen innerhalb desselben Pakets zulassen. privat: Ermöglicht nur den Zugriff auf die Klasse selbst, die den Modifikator definiert. Eine Unterklasse kann mit dem privaten Modifikator nicht auf die Mitglieder der übergeordneten Klasse zugreifen, kann jedoch mit dem geschützten Modifikator den Wert des übergeordneten Klassenmitglieds ändern. Wenn Sie keinen Zugriffsmodifikator angeben, wird für das Mitglied standardmäßig der Standardwert (Paketumfang) verwendet.

Java 函数的访问权限修饰符之与继承的关系

Die Beziehung zwischen Java-Funktionszugriffsmodifikatoren und Vererbung

Zugriffsmodifikatoren in Java bestimmen den Zugriffsbereich von Klassen, Methoden und Feldern und spielen eine wichtige Rolle bei der Vererbung. Hier ist die Beziehung zwischen Zugriffsmodifikatoren und Vererbung:

  • public: Gewährt Zugriff auf alle Klassen und Unterklassen.
  • geschützt: Gewährt Zugriff auf eine Klasse und ihre Unterklassen im selben Paket.
  • Standard (Paketumfang): Gewährt Zugriff auf Klassen im selben Paket.
  • private: Gewährt Zugriff nur auf die Klasse selbst, in der dieser Modifikator definiert ist.

Praktischer Fall:

Angenommen, wir haben eine übergeordnete Klasse Animal und eine Unterklasse Dog: Animal 和一个子类 Dog

public class Animal {
    protected String name;
    public void eat() {
        System.out.println("Eating...");
    }
}

public class Dog extends Animal {
    public void bark() {
        System.out.println("Barking!");
    }
}

在上述代码中:

  • Animalname 字段使用 protected 修饰符,因此 Dog 类可以访问它。
  • Animaleat() 方法使用 public 修饰符,因此 Dog 类和其他类都可以调用它。
  • Dogbark() 方法使用 public 修饰符,因此任何类都可以调用它。

注意事项:

  • 子类无法访问父类使用 private 修饰符的成员。
  • 子类可以更改带有 protected 修饰符的父类成员的值。
  • 如果不指定访问权限修饰符,则成员将默认为 defaultrrreee
  • Im obigen Code:
🎜🎜 Das Feld <code>name von Animal verwendet den Modifikator protected, sodass die Klasse Dog darauf zugreifen kann. 🎜🎜Die eat()-Methode von Animal verwendet den Modifikator public, sodass sie vom Dog aufgerufen werden kann Klasse und andere Klassen es. 🎜🎜Die bark()-Methode von Dog verwendet den Modifikator public, sodass jede Klasse sie aufrufen kann. 🎜🎜🎜🎜Hinweis: 🎜🎜🎜🎜Unterklassen können mit dem Modifikator private nicht auf Mitglieder der übergeordneten Klasse zugreifen. 🎜🎜Unterklassen können den Wert von übergeordneten Klassenmitgliedern mit dem Modifikator protected ändern. 🎜🎜Wenn kein Zugriffsmodifikator angegeben ist, verwendet das Mitglied standardmäßig default (Paketumfang). 🎜🎜

Das obige ist der detaillierte Inhalt vonDie Beziehung zwischen Java-Funktionszugriffsmodifikatoren und Vererbung. 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