Si je tape:
void doThis(){
System.out.println("Hello Stackoverflow.");
}
quelle est la portée par défaut de doThis()
?
Publique? Protégé? Privé?
Si je tape:
void doThis(){
System.out.println("Hello Stackoverflow.");
}
quelle est la portée par défaut de doThis()
?
Publique? Protégé? Privé?
Réponses:
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 protégées et publiques, mais plus permissive que l'étendue privée.
Plus d'informations:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html
Tout ce qui est défini comme package private peut être accédé par la classe elle-même, d'autres classes dans le même package, mais pas en dehors du package, et pas par des sous-classes.
Voir cette page pour un tableau pratique des modificateurs de niveau d'accès ...
Sans un modificateur d'accès, un membre de classe est accessible dans tout le package dans lequel il est déclaré. Pour en savoir plus , consultez la spécification du 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 "par défaut". C'est bizarre - voir ces références pour plus d'informations.
Si vous ne donnez aucun modificateur à votre méthode, par défaut, ce sera le modificateur par défaut qui a une portée dans le package.
pour plus d'informations, vous pouvez consulter http://wiki.answers.com/Q/What_is_default_access_specifier_in_Java