161 votes

Quelle est l’étendue par défaut d’une méthode en Java ?

C’est une question de folle parce qu’il semble simple. Je ne peux pas trouver n’importe où qui déclare ouvertement la réponse.

Si je tape :

Quelle est l’étendue par défaut de doThis() ?

Public ? Est-il protégé ? Privé ?

Merci d’avance.

258voto

Esko Luontola Points 53877

L’étendue par défaut est paquet-privé. Toutes les classes dans le même package peuvent accéder à la méthode/champ/classe. Paquet-privé est plus stricte que les étendues publiques et protégées, mais plus permissifs que champ privé.

Plus d’informations :
http://docs.Oracle.com/javase/Tutorial/Java/javaOO/AccessControl.html
http://mindprod.com/jgloss/Scope.html

19voto

user15299 Points 280

Quoi que ce soit défini comme paquet privé est accessible par la classe elle-même, autres classes au sein d’un même colis, mais pas à l’extérieur de l’emballage et non par les sous-classes.

Voir cette page pour un tableau pratique des modificateurs d’accès niveau...

9voto

erickson Points 127945

Sans un modificateur d’accès, un membre de classe est accessible tout au long de l’emballage dans lequel elle est déclarée. Vous pouvez apprendre plus de la Java Language Specification, §6.6.

Membres d’une interface sont toujours accessibles au public, déclarée explicitement ou non.

5voto

Michael Haren Points 42641

L’étendue par défaut est « par défaut ». C' est bizarre--voir ces références pour plus d’informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X