web-dev-qa-db-fra.com

Quelle est la différence entre les spécificateurs d'accès et les modificateurs d'accès?

En Java, les spécificateurs access et access modifiers sont-ils la même chose? 

36
sgokhales

Non. "Modificateur d'accès" est le terme officiel pour private, protected et public, alors que le terme "spécificateur d'accès" n'apparaît pas du tout dans la spécification du langage Java et n'est pas un mot utilisé largement.

"modificateur d'accès" est le terme officiel utilisé pour private, protected et public, utilisé dans la spécification du langage Java . "access specifier" est utilisé comme synonyme dans le doc de l'API Java , mais c'est la première fois que je le remarque. Il vaut probablement mieux s'en tenir au terme JLS.

40
Michael Borgwardt

En se référant aux documents Java Sun, ils semblent tous deux identiques:

5
codaddict

Le terme Access spécifier utilisé par les programmeurs c ++ non Java. En Java, nous utilisons officiellement Access Modifier.

Par exemple: lorsque nous déclarons une classe avec private, le compilateur statique affiche clairement le message d'erreur comme suit:
 enter image description here

3
Premraj

Java a fondamentalement 2 types de modificateurs:

  1. Modificateurs d'accès Java
  2. Modificateurs non d'accès Java

Les modificateurs d'accès Java et les spécificateurs d'accès Java sont identiques: public, private, protected.

1
Tamana

Selon moi, oui, les deux termes désignent la même chose et sont utilisés indifféremment.

0
missingfaktor

Dans certaines langues plus anciennes, public, private, protected et default comme C++ sont considérés comme des spécificateurs d'accès et tout le reste est considéré comme un modificateur d'accès, mais en Java, il n'existe pas de terminologie pour le spécificateur; , privé, protégé, par défaut, final, abstrait, statique, strictfp, synchronisé, natif, transitoire et volatile ne sont que des modificateurs.

Le test simple est quand nous compilons le code suivant

test de classe privée {}

nous aurons une erreur de compilation en disant que le modificateur privé n'est pas autorisé ici. Ceci est également vrai pour les autres modificateurs . Peut-être que le compilateur Java (javac) voit tout comme un "modificateur" uniquement.

0
raghavanm

Cette référence JDI est le seul endroit où j'ai jamais vu le terme 'spécificateur d'accès' utilisé dans une spécification Java. Même là, public/protected/private/package sont également appelés «modificateurs». Il n'y a vraiment aucune raison de jamais utiliser le terme 'spécificateur d'accès' en Java, c'est clairement une erreur sur une page parmi des milliers.

0
user207421