Qu'est-ce que public static void
signifie en Java ?
Je suis en train d'apprendre. Dans tous les exemples du livre, je travaille à partir de public static void
vient avant toute méthode utilisée ou créée. Qu'est-ce que cela signifie ?
Qu'est-ce que public static void
signifie en Java ?
Je suis en train d'apprendre. Dans tous les exemples du livre, je travaille à partir de public static void
vient avant toute méthode utilisée ou créée. Qu'est-ce que cela signifie ?
C'est trois choses complètement différentes :
public
signifie que la méthode est visible et peut être appelée à partir d'autres objets d'autres types. D'autres alternatives sont private
, protected
, package
et package-private
. Voir ici pour plus de détails.
static
signifie que la méthode est associée à la classe, et non à une instance (objet) spécifique de cette classe. Cela signifie que vous pouvez appeler une méthode statique sans créer un objet de la classe.
void
signifie que la méthode n'a pas de valeur de retour. Si la méthode renvoie une valeur int
vous écrivez int
au lieu de void
.
La combinaison de ces trois éléments se retrouve le plus souvent sur le main
que la plupart des tutoriels incluent.
Puisque le questionneur est encore en apprentissage : l'ordre de ces mots-clés est également important. Tous les modificateurs en premier ( public
, static
, private
etc.), puis le type de retour ( void
dans ce cas).
@markbyres ok je comprends votre réponse, je sais que la méthode principale doit être statique mais je n'ai aucune idée pourquoi elle est publique ? ? y a-t-il une raison spécifique à cela ? ?
Ces trois mots ont des significations orthogonales.
public
signifie que la méthode sera visible depuis les classes d'autres paquets.
static
signifie que la méthode n'est pas attachée à une instance spécifique, et qu'elle n'a pas de " this
". Il s'agit plus ou moins d'une fonction.
void
est le type de retour. Il signifie "cette méthode ne renvoie rien".
Le site public Le mot-clé public est un spécificateur d'accès, qui permet au programmeur de contrôler la visibilité des membres de la classe. Lorsqu'un membre de la classe est précédé de public, ce membre peut être accessible par du code extérieur à la classe dans laquelle il est déclaré. (L'opposé de public est private, qui empêche un membre d'être utilisé par du code défini en dehors de sa classe).
Dans ce cas, main( )
doit être déclaré public, car il doit être appelé par du code extérieur à sa classe lorsque le programme est lancé.
Le mot-clé statique permet à main( )
pour être appelé sans avoir à instancier une instance particulière de la classe. Ceci est nécessaire car main( )
est appelé par l'interpréteur Java avant que les objets ne soient créés.
Le mot-clé void indique simplement au compilateur que main( )
ne renvoie pas de valeur. Comme vous le verrez, les méthodes peuvent également renvoyer des valeurs.
Cela signifie que :
public
- il peut être appelé de n'importe oùstatic
- il n'a pas d'état d'objet, donc vous pouvez l'appeler sans instancier un objet.void
- il ne renvoie rienOn pourrait penser que l'absence de retour signifie qu'elle ne fait pas grand-chose, mais elle peut sauvegarder des choses dans la base de données, par exemple.
Cela signifie trois choses.
Premier public
signifie que tout autre objet peut y accéder.
static
signifie que la classe dans laquelle elle réside ne doit pas être instanciée avant que la fonction puisse être appelée.
void
signifie que la fonction ne renvoie pas de valeur.
Étant donné que vous venez d'apprendre, ne vous préoccupez pas trop des deux premiers éléments avant d'avoir appris les classes, et le troisième n'aura pas beaucoup d'importance avant que vous ne commenciez à écrire des fonctions (autres que main).
Le meilleur conseil que j'ai reçu lorsque j'ai appris à programmer, et que je vous transmets, est de ne pas s'inquiéter des petits détails que vous ne comprenez pas tout de suite. Obtenez une vue d'ensemble des principes de base, puis revenez en arrière pour vous occuper des détails. La raison en est que vous devez utiliser certaines choses (telles que public static void
) dans vos premiers programmes, ce qui ne peut pas vraiment être expliqué sans vous enseigner d'abord un tas d'autres choses. Donc, pour l'instant, acceptez simplement que c'est ainsi que ça se passe, et passez à autre chose. Vous les comprendrez bientôt.
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.