Hello world

Voici le traditionnel Hello World en java :

// Toto.java
public class Toto 
  {
  public static void main( String[] args )
    {
    System.out.println("Hello world");
    }
  } 

Cet exemple introduit plusieurs notions fondamentales.

Tout est une classe

Premier point, je fichier Toto.java contient une déclaration de classe, la classe Toto.

La déclaration de classe commence toujours ainsi :

// NomDeLaClasse.java
public class NomDeLaClasse 
  {
  // Corps de la classe
  } 

Noter que le nom du fichier est conditionné par le nom de la classe publique1) déclarée dans ce fichier.

Vous ne pouvez déclarer qu'une seule classe par fichier2).

La méthode main

Notre classe HelloWorld ne contient qu'un seul membre, la méthode statique main. C'est une méthode un peu particulière qui va servir de point d'entrée pour la machine virtuelle. Ce qu'il faut retenir c'est que l'exécution de HelloWorld (java HelloWorld) va déclencher l’exécution de cette méthode.

public static void main( String[] args )
  {
  // Corps de la méthode
  }

L'analyse de la déclaration d'une méthode nous fournis plusieurs informations importantes, dans le cas de main nous avons :

  • public : C'est la visibilité de la méthode, dans notre cas la méthode est déclarée public pour permettre à la machine virtuelle de l'exécuter. De façon générale3), tous les membres d'une classe doivent être déclarés avec un indicateur de visibilité ( public, protected, package, private).
  • static : Cette notion sera détaillée par la suite mais elle nous indique que la méthode main est une méthode de classe 4).
  • void : C'est le type de retour. Les méthodes, quand elles retourne des données doivent préciser le type attendu en retour, si une méthode ne retourne rien, cela est précisé avec le mot-clef void (silencieuse)
  • main : C'est l'identifiant (ou le nom) de la méthode. Dans notre cas la méthode s'appelle simplement main5)
  • ( String[] args ) : Ce sont les paramètres de la méthodes, dans notre cas la méthode attend une liste (indiquée par les []) de chaîne de caractère (String). Les paramètres transmis à la méthode seront disponibles dans le corps de la méthode à travers à l'identifiant args. Sur ce dernier point, le choix des identifiants est libre, nous aurions très bien plus utiliser l'identifiant parametres ou options.6).

Quand on parle de la déclaration de méthode, il n'est pas rare d'évoquer également la signature de la méthode. La signature est définit par le nom, et les arguments :

// Signature de la méthode
main( String[] args )

Nous verrons par la suite qu'une même méthode peut être déclarée plusieurs fois avec le même identifiant mais avec des arguments différents, on parle de surcharge

1) les classes sont très souvent publique
2) C'est le cas de figure général, cependant on peut trouver des fichiers Java contenant plusieurs classes dans un même fichier, mais une seule de ces classes sera déclarée publique
3) Si aucun indicateur de visibilité c'est spécifié, le membre est définit comme publique
4) Il ne faut pas confondre une méthode "standard" et une "méthode de classe"
5) Comme expliqué plus haut le cas de la méthode statique main est un peu particulier, en effet le nom de méthode - main - est en soit imposé car la machine virtuelle va fouillé notre classe à la recherche d'une méthode qui s'appelle main.
6) Dans le cas de la méthode main, l'identifiant args est une convention, on parle de paramètres informels
java/hello-world.txt · Dernière modification: 2011/10/17 06:47 (modification externe)
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

Ce site contient des traces de XHTML et de CSS.