Un mot-clé Java protected est un modificateur d’accès. Il peut être affecté à des variables, des méthodes, des constructeurs et des classes internes.
Points à retenir
- Le modificateur d’accès protégé est accessible dans le paquet. Cependant, il peut également être accessible en dehors du paquet mais uniquement par héritage.
- Nous ne pouvons pas affecter protected à la classe et à l’interface externes.
- Si vous protégez un constructeur, vous ne pouvez pas créer l’instance de cette classe depuis l’extérieur du package.,
- Si vous remplacez une méthode, la méthode remplacée (c’est-à-dire déclarée dans la sous-classe) ne doit pas être plus restrictive.
- Selon le point précédent, si vous attribuez protected à une méthode ou à une variable, cette méthode ou variable peut être remplacée par sub-class à l’aide du modificateur public ou protected access uniquement.
Exemples de mot clé protégé
Exemple 1
Voyons un exemple pour déterminer si la variable protégée est accessible ou non en dehors du paquet.,
Sortie:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The field A.msg is not visible
Exemple 2
Voyons un exemple pour déterminer si la variable protégée est accessible ou non en dehors de la classe et dans le paquet.
Résultat:
Try to access the protected variable outside the class within the package
Exemple 3
prenons un exemple afin de déterminer si la méthode protégée est accessible ou non à l’extérieur du colis.,
Résultat:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method msg() from the type A is not visible
Exemple 4
prenons un exemple afin de déterminer si la méthode protégée est accessible ou non à l’extérieur de l’emballage, en utilisant l’héritage.
Résultat:
Try to access the protected method outside the package using inheritance
Exemple 5
prenons un exemple afin de déterminer si nous attribuer protégé à l’extérieur de la classe.
Sortie:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Exemple 6
Voyons un exemple pour déterminer si nous créons l’instance du constructeur protégé à partir de l’extérieur de la classe.,
Résultat:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor A(String) is not visibles
Exemple 7
prenons un exemple afin de déterminer si la méthode protégée est remplacée par la sous-classe à l’aide protégé modificateur d’accès.
Sortie:
Try to access the overridden method
Exemple 8
Voyons un exemple pour déterminer si la méthode protégée est remplacée par une sous-classe à l’aide du modificateur d’accès privé.,
Sortie:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
Exemple 9
Voyons un exemple pour déterminer si la méthode protégée est remplacée par une sous-classe à l’aide du modificateur d’accès par défaut.
Résultat:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
Exemple 10
prenons un exemple afin de déterminer si la méthode protégée est remplacée par la sous-classe à l’aide publique modificateur d’accès.
Résultat:
Try to access the overridden method