statische initialisierer

Razen

Mitglied
sagt mal was genau sind statische initialisierer? ich weiß es ist ein static block in dem man klassenvariablen initialisieren kann und der am ende der klasse stehen sollte weil er nur auf die methoden vor ihm angewendet werden kann - aber wo ist der nutzen, das geht doch auch ohne!?
 

Landei

Top Contributor
Wo soll die Initialisierung sonst passieren? Viele Sachen (eine Map füllen, eventuelle Exceptions bei der Initialisierung abfangen u.s.w) lassen sind nicht "direkt an der Variablen" erledigen. Und da es sich um Klassenvariablen handelt, wäre es dumm und umständlich, das in einer Instanz zu tun (die man bei Utility-Klassen wie Math ja gar nicht haben will).
 

Razen

Mitglied
also angenommen ich will eine instanzvariable wert2 initialisieren und die für alle wert1 != x mit dem wert 1 befüllen, wenn wert1 = x dann soll der wert2 aber 2 sein, meinste sowas? sonst versteh ichs ned ganz...
 

Landei

Top Contributor
Java:
class C {
  static String message;

  static {
     Date date = new Date();
     if (date.getHour() < 12) {
        message = "Guten Morgen!";
     } else if (date.getHour() < 20) {
        message = "Guten Tag!";
     } else {
        message = "Guten Abend!"; 
     }
  }

}
Wie willst du kompliziertere Initialisierungen wie diese sonst machen?
 

Razen

Mitglied
also kann man ganz einfach zusammenfassen das statische initialisierer verwendet werden sobald es komplexer als bezeichner = inhalt wird, oder?+

EDIT: Noch ne Frage - wann wird der aufgerufren? immer am anfang egal was davor so steht oder doch etwas anders?
 
Zuletzt bearbeitet:
G

Gast2

Gast
Meinte ich damit ;) Solange die Klasse nicht genutzt wird wird sie doch auch nicht geladen, oder?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
temi Private statische Hilfsmethoden Allgemeine Java-Themen 33
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
P "Overriden statische Methode" Statische Methode die vererbt wird Allgemeine Java-Themen 5
N Threads statische Methoden in Threads Allgemeine Java-Themen 5
M Zeiger auf statische Variable Allgemeine Java-Themen 1
S Kapselung Statische Helper Klassen Allgemeine Java-Themen 5
C Classloading und statische Variablen Allgemeine Java-Themen 2
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
J Statische Variablen, Threadübergreifend. Allgemeine Java-Themen 4
R Statische Klasse: Best practice mit flags (2) Allgemeine Java-Themen 3
N Klasse rausfinden, an der eine statische Methode aufgerufen wurde ? Allgemeine Java-Themen 10
S statische Methoden und Vererbung Allgemeine Java-Themen 6
M Zwingen eine statische Methode zu importieren Allgemeine Java-Themen 5
heart_disease Designfrage: Statische Konfigurationsklasse Allgemeine Java-Themen 10
S statische Interfaces..? Allgemeine Java-Themen 6
M Wann Membermethoden, wann statische Utility-Methoden? Allgemeine Java-Themen 24
S Innere Klassen und die statische Methode access$x Allgemeine Java-Themen 5
S Statische Methoden in abstrakte Klassen deklarieren? Allgemeine Java-Themen 17
M Paralleler Zugriff auf statische Methode Allgemeine Java-Themen 5
J Statische Methoden in Interfaces? Allgemeine Java-Themen 10
F Statische Methode in abstrakter Superklasse definieren Allgemeine Java-Themen 4
B Statische Methode? Komisch. Allgemeine Java-Themen 5
G Wann statische Methoden, statische Attributen? Allgemeine Java-Themen 7
G Statische Methoden erzwingen Allgemeine Java-Themen 2
H Zugriff auf statische Variable synchronisieren Allgemeine Java-Themen 4
A [SOLVED] Classpath und statische Variablen Allgemeine Java-Themen 6
S Tiefe Kopie einer Baumstruktur als statische Methode Allgemeine Java-Themen 8
M statische Methode per reflection aufrufen Allgemeine Java-Themen 2
M statische regex und vergleiche oder immer wieder compilen Allgemeine Java-Themen 2
S Statische Methode oder nicht? Allgemeine Java-Themen 5
T in einer statischen Methode ein nicht statische Aufrufen Allgemeine Java-Themen 5
D Statische, generische Methode will nicht. Allgemeine Java-Themen 2
H Zugriff auf statische Methode durch mehrere User Allgemeine Java-Themen 19
S Auf statische Funktionen mit Java Reflections zugreifen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben