0

开发环境:Flash builder 4,SDK 4.1

源代码 :

if (ColonyHandler.getInstance() != null)
            {
                try
                {
                    var colonyA:ColonyHandler = ColonyHandler.getInstance();
                    trace(colonyA);
                    ColonyHandler.getInstance().onMouseMove(event); 
                }
                catch(error:*)
                {
                    var colonyB:ColonyHandler = ColonyHandler.getInstance();
                    trace(colonyB);
                }
            }

问题:colonyA 不为空,colonyB 为空。getInstance() 方法返回名为“实例”的静态变量。这可能吗?

4

1 回答 1

0

getInstance用于单例类以获取类的唯一实例。该实例将存储为类本身的静态变量(在您的情况下ColonyHandler),并且可能被称为“实例”。所以我认为你得到的没有任何问题:你要求'ColonyHandler'的唯一实例并得到它......

于 2013-01-04T12:20:36.320 回答