Maison > Java > javaDidacticiel > Application du modificateur d'accès protégé pour les fonctions Java

Application du modificateur d'accès protégé pour les fonctions Java

WBOY
Libérer: 2024-04-26 08:21:02
original
672 Les gens l'ont consulté

Réponse : Le modificateur d'accès protégé permet aux sous-classes et aux classes du même package d'accéder au membre, tout en bloquant l'accès aux classes d'autres packages. Description détaillée : les membres protégés sont accessibles dans la classe de définition, les sous-classes et les autres classes du même package. Les classes de différents packages ne peuvent pas accéder aux membres protégés. Applicable à : a) Autoriser les sous-classes à accéder aux membres de la classe parent. b) L'accès à l'intérieur du package est autorisé, mais l'accès à l'extérieur du package est bloqué. Par exemple, la méthode protégée getSpeed() de la classe parent Vehicle est accessible par la sous-classe Car, mais pas par la classe Truck qui n'est pas dans le même package.

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

Modificateurs d'accès pour les fonctions Java : protégé

Introduction

En Java, protected est un modificateur d'accès utilisé pour les méthodes, les champs et les constructions. La fonction spécifie le niveau d'accès restreint. Il est plus restrictif que public, mais a un accès moins restrictif que default. Les membres protected 是一个访问权限修饰符,用于为方法、字段和构造函数指定受限访问级别。它比 public 更具限制性,但比 default 访问权限更宽松。

语义

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

应用

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

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

实战案例

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

public abstract class Vehicle {
    protected int speed;

    public void getSpeed() {
        // ...
    }
}
Copier après la connexion

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

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

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

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

结论

protected

🎜Semantics🎜🎜
  • protected sont accessibles dans la classe dans laquelle ils sont définis, dans les sous-classes et dans d'autres classes du même package.
  • Pour les classes de différents packages, les membres protégés ne sont pas accessibles.
🎜🎜Application🎜🎜🎜protected Le modificateur d'autorisation d'accès est souvent utilisé dans les situations suivantes : 🎜
  • Lorsque vous souhaitez qu'une sous-classe puisse accéder aux membres de la classe parent, mais en empêchant les autres classes d'y accéder.
  • Lorsque vous souhaitez fournir l'accès aux membres d'un package mais empêcher l'accès en dehors du package.
🎜🎜Cas pratique🎜🎜🎜Considérons une classe parent Vehicle, qui possède une méthode protected getSpeed() . 🎜rrreee🎜La classe Car est une sous-classe de Vehicle et elle a accès à la méthode getSpeed() car elle hérite de Vehicle code>. 🎜rrreee🎜Cependant, la classe Truck n'est pas dans le même package que le Vehicle, elle ne peut donc pas accéder à la méthode getSpeed(). 🎜rrreee🎜🎜Conclusion🎜🎜🎜protected Les modificateurs d'accès fournissent un moyen de restreindre l'accès aux membres de la classe tout en autorisant l'accès aux sous-classes et aux autres classes du même package. Ceci est utile lors de la conception de classes avec des relations d’héritage et lors de la restriction des droits d’accès dans des packages spécifiques. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal