Maison  >  Article  >  Java  >  La relation entre les modificateurs d'accès aux fonctions Java et l'héritage

La relation entre les modificateurs d'accès aux fonctions Java et l'héritage

WBOY
WBOYoriginal
2024-04-25 15:24:021146parcourir

Les modificateurs d'autorisation d'accès déterminent la portée d'accès aux classes, méthodes et champs, et jouent un rôle important dans l'héritage : public : autorise l'accès à toutes les classes et sous-classes. protected : permet l'accès aux classes et à leurs sous-classes dans le même package. par défaut : autoriser l'accès aux classes du même package. private : autorise l'accès uniquement à la classe elle-même qui définit le modificateur. Une sous-classe ne peut pas accéder aux membres de la classe parent à l'aide du modificateur private, mais peut modifier la valeur du membre de la classe parent avec le modificateur protected. Si vous ne spécifiez pas de modificateur d'accès, le membre aura par défaut la valeur par défaut (portée du package).

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

La relation entre les modificateurs d'accès aux fonctions Java et l'héritage

Les modificateurs d'accès en Java déterminent la portée d'accès des classes, des méthodes et des champs et jouent un rôle important dans l'héritage. Voici la relation entre les modificateurs d'accès et l'héritage :

  • public : Accorde l'accès à toutes les classes et sous-classes.
  • protected : Accorde l'accès à une classe et à ses sous-classes dans le même package.
  • par défaut (portée du package) : Accorde l'accès aux cours du même package.
  • private : Accorde l'accès uniquement à la classe elle-même où ce modificateur est défini.

Cas pratique :

Supposons que nous ayons une classe parent Animal et une sous-classe 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
  • Dans le code ci-dessus :
🎜🎜 Le champ <code>name d'Animal utilise le modificateur protected, donc la classe Dog peut y accéder. 🎜🎜La méthode eat() de Animal utilise le modificateur public, elle peut donc être appelée par le Dog classe et autres classes. La méthode bark() de Dog utilise le modificateur public, donc n'importe quelle classe peut l'appeler. 🎜🎜🎜🎜Remarque : 🎜🎜🎜🎜Les sous-classes ne peuvent pas accéder aux membres de la classe parent en utilisant le modificateur private. 🎜🎜Les sous-classes peuvent modifier la valeur des membres de la classe parent avec le modificateur protected. 🎜🎜Si aucun modificateur d'accès n'est spécifié, le membre sera par défaut default (portée du package). 🎜🎜

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