A quoi sert la classe "Main"
Fermé
d3rf
-
13 août 2013 à 10:52
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 15 août 2013 à 12:11
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 15 août 2013 à 12:11
A voir également:
- Classe main java
- Waptrick jeux java itel - Forum Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Bagage à main - Guide
- Java apk - Télécharger - Langages
1 réponse
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
Modifié par kij_82 le 13/08/2013 à 12:03
Modifié par kij_82 le 13/08/2013 à 12:03
Bonjour,
La classe "Main" en java signifie le point d'entrée du programme.
Concrétement, une classe dite "Main" possède la méthode statique suivante:
Afin de lancer ton programme, au moins une classe de ce type devrait être présente dans l'ensemble de tes packages, du moins s'il s'agit d'une application standalone Java basique.
Tu peux évidemment avec plus d'une classe "Main" dans l'ensemble de ton programme.
PS: Dans le cas d'application web, webservice, etc. c'est tout autre chose et hors sujet je pense avec ta question.
~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
La classe "Main" en java signifie le point d'entrée du programme.
Concrétement, une classe dite "Main" possède la méthode statique suivante:
public static void main(String[] args){ ... }
Afin de lancer ton programme, au moins une classe de ce type devrait être présente dans l'ensemble de tes packages, du moins s'il s'agit d'une application standalone Java basique.
Tu peux évidemment avec plus d'une classe "Main" dans l'ensemble de ton programme.
PS: Dans le cas d'application web, webservice, etc. c'est tout autre chose et hors sujet je pense avec ta question.
~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
13 août 2013 à 19:02
14 août 2013 à 04:06
14 août 2013 à 07:40
Pour que cela fonctionne il faut que le fichier MaClasse.java existe, qu'il contienne le code de la classe MaClasse, et que celle-ci possède une méthode public static void main(String[] args)
En effet lorsque ensuite tu voudras démarrer le programme, tu feras la commande :
Le code qui sera appelé en premier (que l'on appelle "point d'entrée" du programme) sera celui qui se trouve dans la méthode main, si elle n'est pas définie le programme ne démarrera pas.
Ensuite pour ma remarque : chaque classe possède des constructeurs (au moins un par défaut) qui portent le même nom que la classe. Exemple :
Ici tout va bien, en revanche il y aurait un problème à nommer sa classe "main", on aurait alors :
Ici il y aurait un problème puisque le point d'entrée statique aurait le nom d'un constructeur de la classe... Si tu ne comprends pas où est le problème, retiens au moins de ne pas appeler ta classe "main".
15 août 2013 à 12:11
Pour compiler tu n'as pas besoin d'avoir de méthode 'main'. Uniquement si tu souhaites lancer la classe en question via l'instruction > java MaClasse.
Autre exemple / explication qui recoupe ce qui a déjà été dit:
Quand tu créé une classe en Java, mettons 'Toto', tu dois:
- nommé ton fichier du même nom que ta classe, avec une majuscule en premier: Toto.java
- définir ta classe:
Exemple 1
Par défaut, si tu ne spécifie rien, ta classe aura le contructeur vide, comme si tu avais ajouté ceci:
Exemple 2
Exemple 1 et 2 sont donc équivalent, et tu pourras ainsi instancier un objet de ta classe Toto comme suit:
Tout ceci est basique, mais ne permet pas encore de lancer ton programme à proprement dit.
Pour lancer un programme java en ligne de commande, comme il l'a déjà été dit, tu dois exécuter ceci:
Seulement tu dois en premier lieu définir ta classe Toto comme étant "lançable", c'est à dire une classe "Principale". Et pour le faire, il te faut ajouter la fameuse méthode 'main' statique.
Attention, cette méthode est une convention ! Cela signifie que la signature de cette méthode doit être correcte, tu ne peux pas changer son nom, etc.
Ainsi, ta classe Toto deviendrait celle-ci:
Où 'String[] args' est la liste des arguments ajouter quand tu lance ton programme via l'instruction (ou par toute autre interface depuis ton éditeur de code)
Par exemple:
Ce code exécuté avec la ligne de commande suivante:
devrait afficher les traces suivantes:
ps: tes questions semble relativement basique, je te conseilles donc de suivre un tutorial depuis le début sur le language Java, sur le site du zéro ou sur cmm.