" Oltre ai metodi statici, ci sono classi statiche. Ne discuteremo più dettagliatamente in seguito. Per ora, lascia che ti mostri solo un esempio:"

Esempio:
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++;
         }
     }

}

" Puoi creare tutti gli oggetti Cat che vuoi. Ma questo non è il caso di una variabile statica. Esiste solo una copia di una variabile statica."

"Lo scopo principale dell'utilizzo del modificatore static nella dichiarazione di classe è controllare la relazione tra le classi Cat e StaticClassExample . L'idea è più o meno questa: la classe Cat non è collegata agli oggetti StaticClassExample e non può accedere all'istanza (non static) variabili della classe StaticClassExample."

"Quindi posso creare classi all'interno di classi?"

"Sì. Java lo consente, ma non pensarci troppo adesso. Diventerà più chiaro quando ti spiegherò altre cose in futuro."

"Lo spero, Rishi."