Java Instanzvariablen Initialisierung mit Methode
Ich bin ein bisschen verwirrt über den folgenden Code:
public class Test{
int x = giveH();
int h = 29;
public int giveH(){
return h;
}
public static void main(String args[])
{
Test t = new Test();
System.out.print(t.x + " ");
System.out.print(t.h);
}
}
Die Ausgabe hier ist0 29
, aber ich dachte, dass dies ein Compilerfehler sein muss, weil die Variable h nicht initialisiert werden sollte, wenn es um die Methode @ gegiveH()
. Durchläuft die Zusammenstellung also die Zeilen von oben nach unten? Warum funktioniert das? Warum ist der Wert vonx
0 und nicht 29?