Вам нужно слегка изменить ответ Alxx, так как это не мешает работе нового Singleton () ...
public class Singleton {
private static var _instance : Singleton;
public function Singleton( newBlocker : ClassLock ) {
}
public static function getInstance() : Singleton {
if ( _instance == null ) {
_instance = new Singleton( new ClassLock() );
}
return _instance;
}
}
class ClassLock{}
Закрытый класс используется Singleton, чтобы другие классы просто не делали новый Singleton.() сначала, а затем получить второй экземпляр, выполнив getInstance ().
Обратите внимание, что это все еще не является водонепроницаемым ... Если кто-то решит сломать его, он может получить доступ к закрытому классу, ноэто лучший вариант для синглетонов.