Inicialización de variables de instancia de Java con método
Estoy un poco confundido sobre el siguiente código:
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);
}
}
La salida aquí es0 29
, pero pensé que esto tenía que ser un error del compilador, porque la variable h no debería haberse inicializado cuando se trata del métodogiveH()
. Entonces, ¿la compilación pasa por las líneas de arriba a abajo? ¿Por qué está funcionando esto? ¿Por qué es el valor dex
0 y no 29?