« En plus des méthodes static, il existe des classes static. Nous en discuterons plus en détail plus tard. Pour l'instant, laisse-moi te montrer un exemple : »

Exemple :
public class ExempleClasseStatic
{
    private static int nombreChats = 0;

    public static void main(String[] args) throws Exception
    {
        Chat bella = new Chat("Bella");
        Chat tiger = new Chat("Tiger");

        System.out.println("Total de chats :" + nombreChats);
    }

     public static class Chat
    {
        private String nom;

        public Chat(String nom)
         {
            this.nom = nom;
            ExempleClasseStatic.nombreChats++;
         }
     }

}

"Tu peux créer autant d'objets Chat que tu veux. Mais ce n'est pas le cas avec une variable static. Une seule copie d'une variable static existe. »

« L'intérêt principal d'utiliser le modificateur static dans la déclaration de classe est de contrôler la relation entre les classes Chat et ExempleClasseStatic. L'idée ressemble plus ou moins à ceci : la classe Chat n'est pas liée à des objets ExempleClasseStatic et ne peut pas accéder aux variables d'instance (non static) de la classe ExempleClasseStatic. »

« Donc je peux créer des classes à l'intérieur de classes ? »

« Oui. Java permet cela, mais n'y pense pas trop pour le moment. Ça deviendra plus clair quand je t'expliquerai d'autres choses à l'avenir. »

« J'espère bien, Rishi. »