Réponses:
Ce sont 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 retournait un, int
vous écririez à la int
place de void
.
La combinaison de ces trois éléments est le plus souvent vue sur la main
méthode que la plupart des didacticiels incluront.
Les trois mots ont des significations orthogonales.
public
signifie que la méthode sera visible à partir des classes d'autres packages.
static
signifie que la méthode n'est pas attachée à une instance spécifique et qu'elle n'a pas de " this
". C'est plus ou moins une fonction.
void
est le type de retour. Cela signifie "cette méthode ne renvoie rien".
Le public mot clé 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 classe est précédé de public, alors ce membre est accessible par du code en dehors de la classe dans laquelle il est déclaré. (Le contraire de public est privé, ce 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 en dehors de sa classe au démarrage du programme.
Le mot-clé static permet main( )
d'ê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 la création de tout objet.
Le mot-clé void indique simplement au compilateur qu'il 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 aucun état d'objet, vous pouvez donc l'appeler sans instancier un objetvoid
- ça ne renvoie rienOn pourrait penser que l'absence de retour signifie qu'il ne fait pas grand-chose, mais cela peut enregistrer des choses dans la base de données, par exemple.
Cela signifie trois choses.
First public
signifie que tout autre objet peut y accéder.
static
signifie que la classe dans laquelle elle réside n'a pas besoin d'être instanciée avant que la fonction puisse être appelée.
void
signifie que la fonction ne renvoie pas de valeur.
Puisque vous êtes juste en train d'apprendre, ne vous inquiétez pas trop des deux premiers jusqu'à ce que vous en appreniez davantage sur les cours, et le troisième n'aura pas beaucoup d'importance tant que vous ne commencerez pas à écrire des fonctions (autres que principales).
Le meilleur conseil que j'ai eu en apprenant à programmer, et que je vous transmets, est de ne pas vous soucier des petits détails que vous ne comprenez pas tout de suite. Obtenez un aperçu général des principes fondamentaux, puis revenez en arrière et préoccupez-vous des détails. La raison en est que vous devez utiliser certaines choses (comme public static void
) dans vos premiers programmes qui ne peuvent pas vraiment être bien expliquées sans vous apprendre d'abord un tas d'autres choses. Alors, pour le moment, acceptez simplement que c'est comme ça que ça se fait et passez à autre chose. Vous les comprendrez sous peu.
Compte tenu de la classe typique de haut niveau. Seuls les modificateurs d'accès public et sans modificateur peuvent être utilisés au niveau supérieur, vous verrez donc public ou vous ne verrez aucun modificateur d'accès.
`` static`` est utilisé parce que vous n'aurez peut-être pas besoin de créer un objet réel au niveau supérieur (mais parfois vous voudrez le faire pour ne pas toujours voir / utiliser static. Il y a d'autres raisons pour lesquelles vous n'incluez pas static aussi mais c'est celui typique au niveau supérieur.)
void
est utilisé car généralement vous n'allez pas renvoyer une valeur du niveau supérieur (classe). (parfois, vous voudrez renvoyer une valeur autre que NULL
so void peut ne pas toujours être utilisée non plus, en particulier dans le cas où vous avez déclaré, initialisé un objet au niveau supérieur auquel vous attribuez une valeur).
Avertissement: Je suis moi-même un débutant, donc si cette réponse est fausse de quelque manière que ce soit, ne me pendez pas. Le jour, je suis un recruteur technique et non un développeur; le codage est mon passe-temps. De plus, je suis toujours ouvert aux critiques constructives et j'aime apprendre, alors n'hésitez pas à signaler toute erreur.
public
signifie que vous pouvez accéder à la classe de n'importe où dans la classe / l'objet ou en dehors du package ou de la classestatic
signifie constante dans laquelle le bloc d'instructions utilisé une seule foisvoid
signifie pas de type de retourPublic
- signifie que la classe (programme) est disponible pour une utilisation par toute autre classe.
Static
- crée une classe. Peut également être appliqué aux variables et aux méthodes, ce qui en fait des méthodes / variables de classe au lieu d'être simplement locales à une instance particulière de la classe.
Void
- cela signifie qu'aucun produit n'est retourné lorsque le cours termine le traitement. Comparez cela avec les classes d'assistance qui fournissent une valeur de retour à la classe principale, elles fonctionnent comme des fonctions; ceux-ci ne sont pas vides dans la déclaration.
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. En raison de l'utilisation d'un static
mot main()
- clé est votre première méthode à être invoquée ..
static
n'a pas besoin d'un objet pour l'instance ... donc, main( )
est appelée par l'interpréteur Java avant que les objets ne soient créés.
public
,static
,private
, etc.) puis le type de retour (void
dans ce cas).