Beispiel um die Initialisierungsreihenfolge klar zu machen.
Initialisierungsschritte beim Instanzieren eines neuen Objekts
- Aufruf der Superklassenkonstruktoren
- Initialisierung aller Membervariablen in der textuellen Reihenfolge ihrer Deklaration
- Ausführung des Programmcodes im Rumpf des Konstruktors
java-initialisierungsreihenfolge.java
public class InitExample
{
return s;
}
public static void main
(String[] args
) {
Son son = new Son();
}
}
class Father
{
private String s1 = InitExample.
getAndPrint("Father.s1");
public Father() {
InitExample.getAndPrint("Father.<init>");
}
}
class Son extends Father
{
private String s1 = InitExample.
getAndPrint("Son.s1");
public Son() {
InitExample.getAndPrint("Son.<init>");
}
}
Ausgabe des Programmes:
- Father.s1
- Father.<init>
- Son.s1
- Son.<init>