在flash.utils包中有这样两个函数
getDefinitionByName( className:String); //返回className指定的类的对象的引用
getQualifiedClassName( value:*); //返回指定对象的完全限定类名
看到这两个方法,实现反射是不是已经很明显了。
//获取类名
var btn:Button = new Button();
var btnClassName:String = flash.utils.getQualifiedClassName( btn);
//获取对象
var MyButton:Class = flash.utils.getDefinitionByName( btnClassName) as Class;
var btn2:Button = new MyButton() as Button;
btn2.label = "this is new MyButton";