Die Antwort geht in eine ähnliche Richtung wie bei
Methodenaufruf nur innerhalb einer Methode möglich?.
Hinzu kommt, dass die Klasse Program eigentlich nur einen Rahmen für die Main-Methode bildet. Variable, die hier benutzt werden, dürfen deklariert werden, aber die Initialisierung muss zu einem fest definierten Zeitpunkt stattfinden, also während des Ablaufs von Main.
Vielleicht kannst du es dir so merken:
* Die Main-Methode ist das Hauptprogramm.
* Auch die Main-Methode muss zu einer Klasse gehören, also zu Program.
* Alles, was innerhalb von Program passiert (also jede Methode), muss von Main aus angestoßen werden.
* Auch der Aufruf eines Konstruktors ist der Aufruf einer Anweisung.
Jürgen