Maison >Java >javaDidacticiel >Règles d'utilisation des modificateurs d'accès des fonctions Java dans différentes classes

Règles d'utilisation des modificateurs d'accès des fonctions Java dans différentes classes

PHPz
PHPzoriginal
2024-04-25 13:54:02836parcourir

Lorsque vous utilisez des fonctions Java dans différentes classes, suivez les règles de droits d'accès suivantes : Les droits d'accès par défaut sont limités aux classes du même package. La visibilité du package est la même que l'accès par défaut, mais s'applique à toutes les classes du même module. L'accès protégé est limité aux sous-classes et aux classes du même package. L'accès public est visible dans toutes les classes.

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

Règles d'utilisation des modificateurs d'accès dans les fonctions Java dans différentes classes

Les modificateurs d'accès en Java sont utilisés pour contrôler la portée de visibilité des classes, des méthodes et des champs. Lorsque vous utilisez des fonctions dans différentes classes, vous devez respecter les règles suivantes :

1. Accès par défaut (aucun modificateur)

  • Visible uniquement dans les classes du même package

2.

  • Identique à l'accès par défaut, mais s'applique à toutes les classes du même module

3. l'accès protégé

  • n'est visible que dans les sous-classes de cette classe et les classes du même package

4. l'accès public

  • est visible dans toutes les classes

Exemple pratique

Considérez le code suivant :

// 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 访问权限,但在不同的模块中不可访问
    }
}

Dans cet exemple, une sous-classe de MyOtherClass 无法访问 MySuperClass 中的 protectedMethod()publicMethod(),因为它们不是在同一包中或不是 MySuperClass.

Notes

  • Une classe interne peut accéder à tous les membres de sa classe externe, quels que soient les modificateurs d'accès.
  • Le compilateur vérifie les autorisations d'accès et génère des erreurs de compilation si les règles ne sont pas respectées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn