Hallo!
Ich habe folgenden kleinen Code geschrieben:
Ausgabe ist:
Initialisierer
Konstruktor
Statischer Initialisierer
Initialisierer
Konstruktor
Wie ist das zu erklären? Welche Regel steckt dahinter?
Und zweitens: Was spricht dafür/dagegen, Objekte schon bei der Felddeklaration zu initialisieren?
Also z. B. als Feld
anzulegen, im Gegensatz zu einer Initialisierung im Konstruktor oder einer Methode?
Danke!
Ich habe folgenden kleinen Code geschrieben:
Java:
public static Klasse abu = new Klasse();
public String ef;
{
ef = new String();
System.out.println("Initialisierer");
}
public static Integer abu2;
static {
System.out.println("Statischer Initialisierer");
abu2 = new Integer(123);
}
public Klasse() {
System.out.println("Konstruktor");
}
public static void main(String[] args) {
Klasse ab = new Klasse();
}
Ausgabe ist:
Initialisierer
Konstruktor
Statischer Initialisierer
Initialisierer
Konstruktor
Wie ist das zu erklären? Welche Regel steckt dahinter?
Und zweitens: Was spricht dafür/dagegen, Objekte schon bei der Felddeklaration zu initialisieren?
Also z. B. als Feld
Java:
public Integer abc = new Integer()
Danke!