Это зависит от языка, но большинство языков инициализируют поля перед вызовом конструктора. Как правило, я рекомендую делать вещи в контексте, инициализация обычно имеет место только в тех случаях, когда поля объявлены. Однако, как указал Джон, иногда нужно сделать что-то, что не имеет смысла / возможно в одной строке.
Также, как всегда, порядок важен, если у вас есть поля, которые зависят от других полей для их инициализации. В некоторых языках, таких как ActionScript, это означает, что порядок объявлений определяет порядок инициализации:
Работает:
public class Foo
{
private var bar:Array = [1, 2, 3];
private var baz:Array = bar.concat([4, 5, 6]);
}
Не работает:
public class Foo
{
private var baz:Array = bar.concat([4, 5, 6]);
private var bar:Array = [1, 2, 3];
}