A加载B,B发生的变化
A取名为TestA,编译后有TestA.swf. TestA里面有一个类叫SayHello(见下图)
B取名为TestB,编译后有TestB.swf. TestB里面有一个跟TestA同样的类SayHello(包名和类名都一样)。稍微修改下TestB的SayHello(见下图)
接下来用TestA加载TestB,看看TestB的SayHello的say()会输出什么
public function TestB() { var say:SayHello=new SayHello(); say.say(); }
public function TestA() { init(); } private function init():void { var loader:Loader=new Loader(); addChild(loader); loader.load(new URLRequest("TestB.swf")); }
>>>hello B
输出正常。下面再修改下:
private function init():void { var loader:Loader=new Loader(); addChild(loader); loader.load(new URLRequest("TestB.swf")); //TestA的SayHello var say:SayHello=new SayHello(); say.say(); }
>>>hello A
>>>hello A
咦!怎么TestB也输入“hello A”了?