Si je tape:Quelle est la portée par défaut d'une méthode dans Java?
void doThis(){
System.out.println("Hello Stackoverflow.");
}
quelle est la portée par défaut de doThis()
?
Public? Protégé? Privé?
Si je tape:Quelle est la portée par défaut d'une méthode dans Java?
void doThis(){
System.out.println("Hello Stackoverflow.");
}
quelle est la portée par défaut de doThis()
?
Public? Protégé? Privé?
La portée par défaut est package-private. Toutes les classes d'un même package peuvent accéder à la méthode/champ/classe. Package-private est plus strict que les étendues publiques et protégées, mais plus permissif que la portée privée.
Plus d'informations:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html
La portée par défaut est "par défaut". C'est bizarre - voir thesereferences pour plus d'informations.
En fait ce n'est pas: c'est paquet-privé –
Merci Maurice, j'ai mis à jour ma réponse. –
Je ne peux pas supprimer ma réponse car elle a été acceptée. J'encourage Joe à aller avec la réponse @ Esko! –
Tout défini comme privé est accessible paquet par la classe elle-même, d'autres classes dans le même paquet, mais pas à l'extérieur de l'emballage, et non par des sous-classes .
Voir this page pour une table pratique de modificateurs de niveau d'accès ...
Merci d'être le seul à reconnaître une source fiable. –
Sans un modificateur d'accès, un membre de la classe est accessible dans tout l'emballage dans lequel il est déclaré. Vous pouvez en apprendre plus à partir du Java Language Specification, §6.6.
Les membres d'une interface sont toujours accessibles au public, qu'ils soient déclarés explicitement ou non.
+1 pour plus d'informations sur les membres d'une interface. – Wazza
Si vous ne donnez aucun modificateur à votre méthode, alors il sera par défaut un modificateur par défaut qui a une portée dans le paquet.
pour plus d'informations vous pouvez consulter http://wiki.answers.com/Q/What_is_default_access_specifier_in_Java
Java 8 permet désormais la mise en œuvre de méthodes à l'intérieur d'une même interface avec portée par défaut (et statique uniquement).
bien meilleure réponse - @ Joe - aller avec celui-ci, pas le mien. –
"Package-default est plus strict que ..." – reinaldoluckman
Il peut également être utile de mentionner que "package-private" est un bon champ d'application pour exposer des méthodes de test d'unités externes. –