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.

questionAnswers(3)

yourAnswerToTheQuestion