Inicialização de bloco estático
Este é um trecho de código Java:
static {
ture = 9;
}
static int ture;
{ // instance block
System.out.println(":"+ture+":");
}
Como é que compila a todos? A declaração de variável 'ture' foi executada após a inicialização. Tanto quanto sei, blocos estáticos e campos foram executados na ordem em que aparecem.
E agora, por que esse valor 9 no bloco da instância foi impresso 3 vezes? A propósito, a instância da classe foi criada 3 vezes. Isso não é uma lição de casa, estou aprendendo Java para certificação.