160 votes

Que signifie "public static void" en Java ?

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 ?

265voto

Mark Byers Points 318575

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.

12 votes

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).

1 votes

@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 ? ?

10 votes

L'environnement d'exécution java doit appeler la méthode main pour démarrer votre application. il ne pouvait pas le faire lorsqu'elle était privée.

49voto

Thomas Pornin Points 36984

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".

28voto

utsav Points 101

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.

21voto

Paul Tomblin Points 83687

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 rien

On 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.

7voto

Aaron Points 807

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.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