Другими словами, этот вопрос можно прочитать следующим образом: "Каков порядок объявлений и определений переменных во время компиляции?"
В настоящий момент я не могу вспомнить конкретные примеры, но я знаю, что у меня возникли проблемы при инициализации const и статических значений в моих определениях классов из-за объявления этих значений, происходящих не по порядку.
Я знаю, что могу создавать объекты при объявлении статических константных членов, например:
public class ConstsWithNewObjects {
public static const DEFINED_NOW_2:Object = {something:"Defined!"};
public static const DEFINED_NOW_3:Object = new CustomObject("Defined!");
}
Но, если я получаю доступ к одному из этих членов из другого статического или константного значения, я представляю возникающие условия гонки, например:
public class ConstsWithOtherConsts {
public static const DEFINED_NOW_1:Object = DEFINED_NOW_3; // Does this exist, yet?
}