« Bonjour, mon jeune ami. J'espère que tu n'as pas oublié que j'étais un bureaucrate de la 16e génération. Si je n'avais pas systématisé toutes mes connaissances, je n'aurais jamais accompli autant de choses. Je déborde d'informations utiles. Je vais t'aider pour certaines missions. Pour commencer, laisse-moi de te parler d'un programme Java typique. »

« Je t'écoute. »

« Premier point. Un programme Java se compose de classes. Chaque classe est stockée dans un fichier individuel, dont le nom coïncide avec le nom de la classe. L'extension de fichier est java. »

« Donc, un programme se compose d'une série de fichiers avec l'extension "java", et chaque fichier contient le code pour une seule classe, c'est ça ? »

« Exactement, Amigo. Si un fichier s'appelle MonChat.java, il contient la classe MonChat. »

« Deuxième point. Quand nous avons beaucoup de fichiers de classe, nous les regroupons dans des dossiers et sous-dossiers. De plus, les classes sont regroupées en packages et sous-packages. Les noms des packages et sous-packages doivent être indiqués dans le code de la classe, et ils doivent être identiques aux noms des dossiers et sous-dossiers sur le disque. »

« Ainsi, d'une part, nous avons des fichiers stockés dans des dossiers, et d'autre part des classes stockées dans des packages. Un nom de classe doit aussi coïncider avec le nom du fichier décrivant la classe. Le nom du package coïncide avec le nom du dossier dans lequel la classe est stockée. »

« Tu pourrais me donner plus de détails là-dessus ? »

« Les noms des packages imbriqués sont séparés par des points, un peu comme une URL. »

« En d'autres termes, supposons que tu as une classe nommée Chat, stockée dans un package animaux.animauxdomestiques. Cela signifie que :

Le disque dur a un certain dossier (nous l'appellerons src) où tous les fichiers du projet sont stockés.

Il contient un dossier nommé animaux, qui à son tour contient un sous-dossier animauxdomestiques.

Le dossier animauxdomestiques contient un fichier appelé Chat.java, qui contient le code de la classe Chat. »

« Je ne suis pas sûr de bien comprendre. »

« Regarde. La structure des classes et des packages reflète la structure des dossiers et des fichiers sur le disque. Si nous avons un fichier nommé Maison.java, stocké dans le dossier src/com/maisons, alors il y a une classe nommée Maison, stockée dans le package com.maisons. »

« Ah, je vois. »

« On dirait que tu comprends vite. Observe l'écran. Ce code est celui d'une petite classe. J'ai annoté toutes les parties importantes : »

        NOM DU PACKAGE
package com.futujava.lesson2;
import java.io.IOException;
/**
 * Utilisateur : Général
 * Date : 21/12/2012
 * Heure : 11h59
 */
             NOM DE LA CLASSE
public class Mission1
{
                                                                
   private static String TEXTE = "Et mon cul c'est du téflon ?";⎥ CLASS VARIABLE
                                                                
                                                                         
   public static void main(String[] args) throws IOException             
   {                                                                     
      SORTIE ÉCRAN                    COMMENTAIRE D'UNE SEULE LIGNE      
      System.out.println(TEXTE); //Affiche une seule chaîne 
        COMMENTAIRE MULTILIGNE
      /*                                                                 
        Ceci est un commentaire multiligne.                              
        Le code ci-dessous affichera trois chaînes identiques.           ⎥ MÉTHODE main()
       */                                                                
      DÉCLARATION DE VARIABLE                                            
      String s = "Ho-ho-ho !";                                           
      APPEL À LA MÉTHODE                                                 
      afficherTextePlusieursFois(s, 3);                                  
   }                                                                     
                                                                         
                                          PARAMÈTRES DE LA MÉTHODE    
   public static void afficherTextePlusieursFois(String s, int total) ⎥ SIGNATURE DE LA MÉTHODE
                                                                    
                                                                
   {                                                            
      BOUCLE                                                    
      for (int i = 0; i < total; i++)                           
      CORPS BOUCLE                                              ⎥ CORPS/CODE MÉTHODE
      {                                                         
         System.out.println(s);                                 
      }                                                         
   }                                                            

}

« Héhé, c'est aussi clair que ça peut l'être après une seule explication. »

« Parfait ! C'est ce qu'il faut. Essaie juste de comprendre au moins un truc. Tu comprendras le reste avec le temps. Bref, ça va être l'heure de ma siesta. Quelqu'un d'autre se chargera de la suite de ta formation. »