学过Java的人都会知道Java中的Class类的意义和含义:
Class对象包含了与类相关的信息。事实上,Class对象就是用来创建类的所有的“普通”对象的。
类是程序的一部分,每个类都有一个Class对象。换言之,每当编写并且编译了一个新类,就会产生一个Class对象(恰当地说,是被保存在一个同名的.class文件中)。在运行时,当我们想生成这个类的对象时,运行这个程序的Java虚拟机(JVM)首先检查这个类的Class对象是否已经加载。如果尚未加载,JVM就会根据类名查找.class文件,并将其载入。
Flex中的Class类和java的差不多,官方上说:
为程序中的每个类定义创建一个 Class 对象。每个 Class 对象都是 Class 类的一个实例。Class 对象包含该类的静态属性和方法。在使用 new 运算符进行调用时,Class 对象会创建该类的实例。
- 下例演示如何通过下列步骤使用 Class 对象推迟有关实例化哪种类的决定,直到运行时为止:
- 声明两个类为 ClassA 和 ClassB。
- 声明一个 Class 类型变量,名为 classToConstruct,以及一个 Boolean 类型 chooseClassA(在本例中设置为 true),但您的代码可以使用自定义<a href="http://lib.csdn.net/base/softwaretest" class='replace_word' title="软件测试知识库" target='_blank' style='color:#df3434; font-weight:bold;'>测试</a>表达式来设置该变量的值。
- package {
- import flash.display.Sprite;
-
- public class ClassExample extends Sprite {
- public function ClassExample() {
- var classToConstruct:Class;
- var classInstance:Object;
-
- classToConstruct = ClassA;
- classInstance = new classToConstruct();
- trace(classInstance);
-
- classToConstruct = ClassB;
- classInstance = new classToConstruct();
- trace(classInstance);
- }
- }
- }
-
- class ClassA {
- }
-
- class ClassB {
- }