As of now, it is not possible to declare a constructor private (other than public) in ActionScript 3.0. However, as pointed out, it is possible to achieve the required behavior by using a dummy private class defined outside the package so that no one has access to it outside the file. Passing a dummy instance of this class to the constructor of the singleton class should prevent other users from instantiating the singleton class. Here is a code snippet illustrating the concept:
package { class Singleton { private static var theOneAndOnlyInstance:Singleton; public function Singleton(dummy:DummyPrivateClass) { super(); } public static function getInstance():Singleton { if(theOneAndOnlyInstance == null) { theOneAndOnlyInstance = new Singleton(new DummyPrivateClass()); } return theOneAndOnlyInstance; } } } class DummyPrivateClass { public function DummyPrivateClass() { super(); } } HTH.