package { public class MyClass { private static var _instance:MyClass; public function MyClass(enforcer:SingletonEnforcer) {} public static function getInstance():MyClass { // 只有静态的私有变量 _instance 为null时才new出一个MyClass, // 当第二次调用这个静态的 getInstance() 方法时,因为 _instance 不为null, // 所以不再new出第二个 MyClass,而是直接返回已存在的 _instance。 // 这样就保证了全世界只有一个 MyClass 类型的实例 if(MyClass._instance == null) { MyClass._instance = new MyClass(new SingletonEnforcer()); } return MyClass._instance; } } } class SingletonEnforcer {}