« 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 StaticClassExample
{
    private static int catCount = 0;

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

        System.out.println("Cat count " + catCount);
    }

     public static class Cat
    {
        private String name;

        public Cat(String name)
         {
            this.name = name;
            StaticClassExample.catCount++;
         }
     }

}

"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. »