Возможно, имелся в виду вопрос о том, почему в некоторых языках, например в Java, присваивание в статическом блоке инициализации не вызывает ошибки компиляции, хотя обращение к полю, которое ещё не было объявлено, может. 1
Ответ связан с тем, что компилятор сначала обрабатывает объявление статической переменной, а уже потом выполняются блоки статической инициализации и/или присваивания статической переменной в порядке их определения в коде. 2
При этом, если использовать поле в правой части присваивания или пытаться применять его значение в выражении, то его нужно объявить заранее, иначе возникнет ошибка компилятора. 1