¿El siguiente código es el caso de referencia legal directa? ¿si es así por qué?Referencias legales a Java Java
public class MyClass
{
private static int x = getValue();
private static int y = 5;
private static int getValue()
{
return y;
}
public static void main(String[] args)
{
System.out.println(x);
}
}
¿Cuál sería el caso si esas no fueran variables estáticas y método? – Vibhor
Creo que el comportamiento es el mismo: la inicialización primero establece todo en el valor predeterminado, luego inicializa cada uno con el valor especificado y luego llama al constructor. – templatetypedef
Cuál, por cierto, es una razón por la que nunca debes llamar a un método no final (o privado) de un constructor; es demasiado fácil para alguien anular ese método y ver un 'esto' aún no construido, incluso hasta el punto de ver un campo final no inicializado. – yshavit