Inicialización de bloque estático
Este es un fragmento de código Java:
static {
ture = 9;
}
static int ture;
{ // instance block
System.out.println(":"+ture+":");
}
¿Cómo es que se compila en absoluto? La declaración de la variable 'tura' se ha realizado después de la inicialización. Por lo que sé, los bloques y campos estáticos se han ejecutado en el orden en que aparecen.
Y ahora, ¿por qué ese valor 9 dentro del bloque de instancia se ha impreso 3 veces? Por cierto, la instancia de la clase ha sido creada 3 veces. Eso no es una tarea, estoy aprendiendo Java para la certificación.