« 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 : »

PACKAGE NAME
package com.futujava.lesson2;
import java.io.IOException;
/**
 * User: General
 * Date: 12/21/12
 * Time: 11:59
 */
             CLASS NAME
public class Task1
{private static String TEXT = "Kiss my metal rear actuator";CLASS VARIABLE
                                                              ⎦
                                                                ⎤
   public static void main(String[] args) throws IOException{SCREEN OUTPUT                    SINGLE-LINE COMMENTSystem.out.println(TEXT); //Display a single string       ⎥
        MULTILINE COMMENT/*                                                        ⎥
        This is a multiline comment.                            ⎥
        The code below will display three identical strings.    ⎥ main() METHOD
       */VARIABLE DECLARATIONString s = "Ho-ho-ho!";METHOD CALLprintTextMoreTimes(s, 3);}                                                            ⎥
                                                                ⎦
                                          METHOD PARAMETERSpublic static void printTextMoreTimes(String s, int count)METHOD SIGNATURE
                                                              ⎦
                                                                ⎤
   {LOOPfor (int i = 0; i < count; i++)LOOP BODYMETHOD BODY/CODE
      {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. »