Heim  >  Artikel  >  Java  >  Regeln für die Verwendung von Zugriffsmodifikatoren von Java-Funktionen in verschiedenen Klassen

Regeln für die Verwendung von Zugriffsmodifikatoren von Java-Funktionen in verschiedenen Klassen

PHPz
PHPzOriginal
2024-04-25 13:54:02778Durchsuche

Wenn Sie Java-Funktionen in verschiedenen Klassen verwenden, befolgen Sie die folgenden Zugriffsrechteregeln: Standardzugriffsrechte sind auf Klassen innerhalb desselben Pakets beschränkt. Die Paketsichtbarkeit entspricht dem Standardzugriff, gilt jedoch für alle Klassen im selben Modul. Der geschützte Zugriff ist auf Unterklassen und Klassen im selben Paket beschränkt. Der öffentliche Zugang ist in allen Klassen sichtbar.

Java 函数的访问权限修饰符之在不同类中使用的规则

Regeln für die Verwendung von Zugriffsmodifikatoren in Java-Funktionen in verschiedenen Klassen

Zugriffsmodifikatoren in Java werden verwendet, um den Sichtbarkeitsbereich von Klassen, Methoden und Feldern zu steuern. Bei der Verwendung von Funktionen in verschiedenen Klassen müssen Sie die folgenden Regeln einhalten:

1. Standardzugriff (keine Modifikatoren)

  • Sichtbar nur in Klassen innerhalb desselben Pakets

2. Paketsichtbarkeit (Standard)

  • Gleich wie Standardzugriff, gilt aber für alle Klassen im selben Modul

3. Der geschützte Zugriff

  • ist nur in Unterklassen dieser Klasse und Klassen im selben Paket sichtbar

4. öffentlicher Zugriff

  • ist in allen Klassen sichtbar

Praxisbeispiel

Betrachten Sie den folgenden Code:

// MySuperClass.java
public class MySuperClass {
    protected void protectedMethod() {
        // ...
    }

    public void publicMethod() {
        // ...
    }
}
// MySubClass.java
public class MySubClass extends MySuperClass {
    // 可访问父类的 protected 和 public 方法
    void accessProtected() {
        protectedMethod();
    }

    void accessPublic() {
        publicMethod();
    }
}
// MyOtherClass.java
public class MyOtherClass {
    // 无法访问父类的 protected 或 public 方法
    void accessProtected() {
        // 编译错误: protectedMethod() 具有 protected 访问权限,在此包外不可访问
    }

    void accessPublic() {
        // 编译错误: publicMethod() 具有 public 访问权限,但在不同的模块中不可访问
    }
}

In diesem Beispiel eine Unterklasse von MyOtherClass 无法访问 MySuperClass 中的 protectedMethod()publicMethod(),因为它们不是在同一包中或不是 MySuperClass.

Notizen

  • Eine innere Klasse kann unabhängig von Zugriffsmodifikatoren auf alle Mitglieder ihrer äußeren Klasse zugreifen.
  • Der Compiler prüft Zugriffsberechtigungen und generiert bei Verstößen gegen die Regeln Kompilierungsfehler.

Das obige ist der detaillierte Inhalt vonRegeln für die Verwendung von Zugriffsmodifikatoren von Java-Funktionen in verschiedenen Klassen. 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