Maison >Java >javaDidacticiel >Analyse détaillée des modificateurs d'accès en Java
1. Les modificateurs de classe sont divisés en deux types : les caractères de contrôle accessibles et les caractères de contrôle sans accès.
Les caractères de contrôle accessibles sont : public class modifier public
Les caractères de contrôle non-accès sont : abstract class modifier abstract; final class modifier final
1) Classe publique Modificateur public : Il n'existe qu'un seul modificateur de contrôle d'accès pour une classe dans le langage Java : public, qui est public. La classe principale de chaque programme Java doit être une classe publique. En tant qu'outil public destiné à être utilisé par d'autres classes et programmes, elle doit être définie comme une classe publique.
2) Modificateur de classe abstraite abstract : Toute classe modifiée avec le modificateur abstract est appelée une classe abstraite. La classe dite abstraite fait référence à une classe conceptuelle qui n'a pas d'objets concrets. Une telle classe est une classe abstraite du langage Java.
3) Modificateur de classe finale final : Lorsqu'une classe ne peut pas avoir de sous-classes, le modificateur final peut être utilisé pour l'indiquer comme classe finale. Les classes définies comme finales sont généralement des classes qui ont un rôle fixe et sont utilisées pour remplir certaines fonctions standard.
4) Caractère de contrôle d'accès par défaut de classe : Si une classe n'a pas de caractère de contrôle d'accès, cela signifie qu'elle a le caractère de contrôle d'accès par défaut. Pour le moment, cette classe n’est accessible ou référencée que par les classes du même package. Cette fonctionnalité d’accès est également appelée accessibilité des packages.
2. Les modificateurs de contrôle de domaine sont également divisés en deux catégories : les caractères de contrôle accessibles et les caractères de contrôle sans accès.
Il existe 4 types de caractères de contrôle d'accès : caractère de contrôle d'accès public : public ; caractère de contrôle d'accès privé : privé ; caractère de contrôle d'accès protégé : protégé ; caractère de contrôle d'accès de protection privée : privé protégé
non Il existe 4 types de modificateurs de contrôle d'accès : modificateur de domaine statique : statique ; modificateur de domaine final : final ; modificateur de domaine volatile (partagé) : modificateur de domaine temporaire : transitoire
1) Contrôle d'accès public Symbole public : Le domaine modifié avec public est appelé domaine public. Si un champ public appartient à une classe publique, il peut être référencé par toutes les autres classes. Étant donné que le modificateur public réduira la sécurité opérationnelle et l'encapsulation des données, l'utilisation des champs publics devrait généralement être réduite.
2) Caractère de contrôle d'accès privé private : les variables membres (domaines) modifiées avec private ne sont accessibles que par la classe elle-même et ne peuvent être référencées par aucune autre classe (y compris les sous-classes).
3) Caractère de contrôle d'accès protégé protected : Les variables membres modifiées avec protected peuvent être référencées par trois catégories : ① la classe elle-même ; ② d'autres classes dans le même package qu'elle ; ③ dans d'autres packages Sous-classes de cette classe ; L'objectif principal de l'utilisation du modificateur protected est de permettre à ses sous-classes dans d'autres packages d'accéder à des propriétés spécifiques de la classe parent.
4) Caractère de contrôle d'accès privé protégé private protected : Les variables membres modifiées avec le modificateur private protected sont accessibles et référencées par la classe elle-même ou ses sous-classes.
5) Modificateur de domaine statique static : les variables membres modifiées avec static appartiennent uniquement aux variables de la classe et n'appartiennent à aucun objet spécifique. La valeur de la variable membre statique est un stockage public stocké dans le. zone mémoire de l'unité de classe, plutôt que d'être stockée dans la plage mémoire d'un certain objet. Lorsqu'un objet de n'importe quelle classe y accède, il obtient les mêmes données ; lorsqu'un objet de n'importe quelle classe les modifie, il opère également sur la même unité de mémoire.
6) Modificateur de domaine final final : Le modificateur de domaine final final est utilisé pour définir des constantes symboliques. Si un champ (variable membre) d'une classe est spécifié par le modificateur final, sa valeur restera inchangée tout au long de l'exécution du programme.
7) Modificateur de domaine volatile (partagé) volatile : Le modificateur de domaine volatile (partagé) volatile est utilisé pour indiquer que cette variable membre peut être contrôlée et modifiée par plusieurs threads. C'est-à-dire que lors de l'exécution du programme, cette variable membre peut être affectée par d'autres programmes ou changer de valeur. Par conséquent, vous devez faire attention aux changements de valeur de cette variable membre lors de son utilisation. Habituellement, volatile est utilisé pour modifier les champs qui acceptent des entrées externes.
8) Modificateur de domaine temporaire transitoire : Le modificateur de domaine transitoire transitoire est utilisé pour définir une variable temporaire. Ses caractéristiques sont : une variable temporaire qualifiée du modificateur transient précisera à la machine virtuelle Java de déterminer que la variable temporaire n'appartient pas à un état permanent, afin de réaliser la fonction d'archivage des différents objets. Sinon, toutes les variables de la classe font partie de l'état permanent de l'objet et doivent être enregistrées lorsque l'objet est stocké.
3. Les modificateurs de contrôle des méthodes sont également divisés en deux catégories : les caractères de contrôle accessibles et les caractères de contrôle sans accès.
Il existe 4 types de caractères de contrôle d'accès : caractère de contrôle d'accès public : public ; caractère de contrôle d'accès privé : privé ; caractère de contrôle d'accès protégé : protégé ; caractère de contrôle d'accès de protection privée : privé protégé
non Il existe 5 types de caractères de contrôle d'accès : caractère de contrôle de méthode abstrait : abstrait ; caractère de contrôle de méthode statique : statique ; caractère de contrôle de méthode final : caractère de contrôle de méthode local : natif ; 1) Résumé de l'opérateur de contrôle de méthode abstraite : une méthode modifiée avec le modificateur abstrait est appelée une méthode abstraite. Une méthode abstraite est une méthode avec uniquement un en-tête de méthode et aucun corps de méthode ni implémentation d’opération.
2) Caractère de contrôle de méthode statique static : Une méthode modifiée avec le modificateur static est appelée méthode statique. Les méthodes statiques sont des méthodes de classe qui appartiennent à la classe entière ; les méthodes qui ne sont pas modifiées ou qualifiées avec static sont des méthodes qui appartiennent à un objet de classe spécifique. Étant donné que la méthode statique appartient à la classe entière, elle ne peut pas manipuler et traiter les variables membres appartenant à un objet, mais ne peut traiter que les variables membres appartenant à la classe entière. Autrement dit, la méthode statique ne peut traiter que le domaine statique.
3) Caractère de contrôle de la méthode finale final : Une méthode modifiée avec le modificateur final est appelée une méthode finale. Une méthode finale est une méthode dont les fonctionnalités et les instructions internes ne peuvent pas être modifiées, c'est-à-dire qu'une méthode finale ne peut pas être surchargée. De cette manière, les fonctions et opérations de cette méthode sont corrigées, empêchant les sous-classes de la classe actuelle de définir incorrectement les méthodes clés de la classe parent et garantissant la sécurité et l'exactitude du programme. Toutes les méthodes qualifiées de privées par le modificateur private, ainsi que toutes les méthodes contenues dans une classe finale, sont considérées comme des méthodes finales.
4) Méthode native contrôle caractère native : Une méthode modifiée avec le modificateur native est appelée méthode locale. Afin d'améliorer la vitesse d'exécution du programme, le corps de la méthode du programme doit être écrit dans d'autres langages de haut niveau, puis la méthode peut être définie comme une méthode locale et modifiée avec le modificateur native
5) Symbole de contrôle de méthode synchronisé synchronisé : Cette modification Les symboles sont principalement utilisés pour la coordination et la synchronisation dans les programmes multithread.