Hallo Forum,
ich habe ein kleines Verständnisproblem: Ein Initialisierungsblock innerhalb einer Klasse ist von geschweiften Klammern umgeben, z.B.
und wird noch vor dem Konstruktor aufgerufen. Warum aber gilt dies nicht, wenn ich die Initialisierung direkt hinter dem
-Operator aufrufe, also
Hier erfolgt nun die Ausgabe nach dem Konstruktor. Handelt es sich hierbei überhaupt um ein Initialisieriungsblock? Wenn nein, warum ist dieser (allgemein) Anweisungsblock für bestimmte Fälle von Vorteil?
Vielen Dank.
ich habe ein kleines Verständnisproblem: Ein Initialisierungsblock innerhalb einer Klasse ist von geschweiften Klammern umgeben, z.B.
Java:
public class A {
// Initialisierungsblock
{System.out.println("Initialisierungsblock");}
// Konstruktor
public A() {
System.out.println("Konstruktor");
}
}
Code:
new()
Java:
public class ExampleApp {
public static void main(String[] args) {
A a = new A() {{
System.out.println("Noch ein Initialisierungsblock?");
}};
}
}
Vielen Dank.