Инициализация статического блока

Это фрагмент кода Java:

static {        
    ture = 9;       
}
static int ture;
{ // instance block 
    System.out.println(":"+ture+":");           
}

Как это все компилируется? Объявление переменной 'ture' было выполнено после инициализации. Насколько я знаю, статические блоки и поля были выполнены в порядке их появления.

И теперь, почему это значение 9 в блоке экземпляра было напечатано 3 раза? Кстати, экземпляр класса был создан 3 раза. Это не домашняя работа, я изучаю Java для сертификации.

Ответы на вопрос(3)

Ваш ответ на вопрос