Oprócz metod statycznych mamy także statyczne klasy. Bardziej szczegółowo omówimy je później. Teraz pokażę Ci pewien przykład:

Przykład:
public class PrzykladKlasyStatycznej
{
    private static int licznikKotow = 0;

    public static void main(String[] args) throws Exception
    {
        Kot bella = new Kot("Bella");
        Kot tytus = new Kot("Tytus");

        System.out.println("Licznik kotów " + licznikKotow);
    }

     public static class Kot
    {
        private String imie;

        public Kot(String imie)
         {
            this.imie = imie;
            PrzykladKlasyStatycznej.licznikKotow++;
         }
     }

}

Możesz utworzyć tyle obiektów klasy Kot, ile tylko chcesz. Ze zmienną statyczną jest inaczej. Istnieje tylko jedna kopia tej zmiennej.

– Głównym celem używania modyfikatora statycznego w deklaracji klasy jest kontrola relacji pomiędzy klasami Kot i PrzykladKlasyStatycznej. Chodzi o to, że klasa Kot nie jest połączona z obiektami PrzykladKlasyStatycznej – nie można uzyskać dostępu do zmiennych instancji (niestatycznych) klasy PrzykladKlasyStatycznej.

– Czyli mogę tworzyć klasy wewnątrz klas?

– Tak. Jest to w Javie możliwe, ale nie myśl teraz o tym. Kiedyś Ci to wytłumaczę, nie martw się.

– Mam taką nadzieję, Raszi.