„Zusätzlich zu den statischen Methoden gibt es auch statische Klassen. Wir werden uns diese später genauer ansehen. Jetzt will ich dir ein Beispiel zeigen:“

Beispiel:
public class BeispielStatischeKlasse
{
    private static int katzenAnzahl = 0;

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

        System.out.println("Katzenanzahl " + katzenAnzahl);
    }

     public static class Katze
    {
        private String name;

        public Katze(String name)
         {
            this.name = name;
            BeispielStatischeKlasse.katzenAnzahl++;
         }
     }

}

„Du kannst so viele Katze-Objekte erstellen, wie du willst. Für eine statische Variable gilt das aber nicht. Es existiert nur eine Kopie einer statischen Variable.“

„Der Hauptzweck für die Verwendung des static-Modifikators in der Klassendeklaration besteht darin, die Beziehung zwischen den Klassen Katze und BeispielStatischeKlasse zu steuern. Die Idee lautet etwa so: Die Katze-Klasse ist nicht mit BeispielStatischeKlasse-Objekten verknüpft und kann nicht auf die Instanzvariablen (nicht-statische Variablen) der BeispielStatischeKlasse-Klasse zugreifen.“

„Damit ich Klassen innerhalb von Klassen erstellen kann?“

„Ja. Java lässt das zu, aber denke jetzt nicht zu viel darüber nach. Es wird klarer werden, wenn ich dir in Zukunft noch mehr Dinge erkläre.“

„Ich hoffe es, Ritschie.“