Warum hat Java keinen statischen Konstruktor?

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Moin.... :autsch:

Warum gibt es in Java eigentlich keinen statischen Konstruktor?
 
nur kann man diesem statischen Konstruktor keine Attribute übergeben...

Warum ist das denn nicht möglich?
 
Das kann gar nicht möglich sein, da du den static-Konstruktor einer Klasse
ja gar nicht explizit aufrufen kannst. Er wird automatisch aufgerufen, sobald
die Klasse das erstemal referenziert wird (ClassLoader)
 
Ergänzung:

Der 'statische Konstruktor', den ich lieber 'statischen Initialisierer' nenne, ist allein dafür da, sämtliche statischen Variablen einer Klasse zu initialisieren. Er wird als erstes aufgerufen.
Die Syntax lässt in Java garkeine Parameterliste zu. In C# sieht das Ding genauso aus, wie ein normaler Konstruktor - aber auch da machen Parameter wenig Sinn, da selbiger ja nur für die eigene Klasse zuständig ist.

Edit: @Gast - man sagt Argumente - nicht Attribute (wenn ich schon unter Leroy poste, muss ich auch ein wenig klugscheißen). :lol:
 
Ich denke auch es wird grundsätzlich zwischen einem "Konstruktor" und einem "Statischen Initialisierer" unterschieden (wie Jango schon angemerkt hat). Ich denke auch, dass es einen "Statischen Konstruktor" in dem Sinne nicht gibt.

Bezüglich der Verwendung des Modifier static bei Kontruktoren steht innerhalb "The Java Language Specification, Third Edition" :### : Ein Konstruktor wird immer in Bezug auf ein Objekt aufgerufen; daher macht es für einen Konstruktor keinen Sinn statisch zu sein. :roll:

Gruß,
hansz
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben