Si je tape:
void doThis(){
System.out.println("Hello Stackoverflow.");
}
quelle est la portée par défaut de doThis()
?
Publique? 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/au champ/à la classe. Package-private est plus strict que les étendues protégées et publiques, mais plus permissif que la portée privée.
Plus d'information:
http://docs.Oracle.com/javase/tutorial/Java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html
Tout ce qui est défini comme paquet privé est accessible à la classe elle-même, aux autres classes du même paquet, mais pas à l'extérieur du paquet, ni aux sous-classes.
Voir cette page pour un tableau pratique des modificateurs de niveau d'accès ...
Sans modificateur d'accès, un membre de classe est accessible dans l'ensemble du package dans lequel il est déclaré. Vous pouvez en apprendre davantage à partir de spécification de langage Java, §6.6.
Les membres d'une interface sont toujours accessibles au public, qu'ils soient explicitement déclarés ou non.
La portée par défaut est "default". C'est bizarre - voir ceux-ciréférences pour plus d'informations.
Java 8 permet maintenant l’implémentation de méthodes dans une interface elle-même avec valeur par défaut scope (et statique uniquement).
Si vous ne donnez aucun modificateur à votre méthode, alors par défaut, ce sera le modificateur Par défaut qui aura une portée dans le package.
pour plus d'informations, vous pouvez vous référer http://wiki.answers.com/Q/What_is_default_access_specifier_in_Java