„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 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++;
         }
     }

}

„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.“