не надо путать синглтон со ленивой инициализацией.
И если бы я написал так:

Код AS3:
public static var preferencesGroup1:ReferenceGroup1 = ReferenceGroup1.instance
Не прокатило бы по той же причине, что и в первом случае.
Хотя, оно, конечно "Хоть горшком называй, только в печку не суй"
Цитата:
|
А здесь после первого вызова в _preferencesGroup1 присвоится new ReferenceGroup1(), и создаваться он больше не будет? Или просто вернет new ReferenceGroup1(), а _preferencesGroup1 останется тем, что есть?
|
Вот по этому я и не использую такие конструкции в основных проектах - чтобы вопросы у коллег не появлялись (здесь что-то поленился).
Это аналог:

Код AS3:
if (_preferencesGroup1 == null)
{
_preferencesGroup1 = new ReferenceGroup1();
}
return _preferencesGroup1;
Второй раз не создастся