[AS3]在反射中使用静态方法

个人比较喜欢用xml配置一些flash中使用的信息,尤其是利用反射(java感染的习惯的),主要是因为比较多是做架构,讲究的通用性
在AS3中,类的实例是不能使用该类中的静态方法的。只能通过类名来调用静态方法。所以利用反射使用一个类的静态方法时候,就可以少一步啦,直接反射出来的class,再调用静态方法就可以了。
在程序中直接输出类名,得出的是class对象。下面还是看看代码吧

程序代码 程序代码

import flash.display.Sprite;
import org.sujun.StaticClass;

public class Main extends Sprite 
    {
        private var str:StaticClass;
        
        
        public function Main() 
        {
            var st:Class = getDefinitionByName("org.sujun.StaticClass") as Class;
            trace("==" + st);
            trace(st.name);
            st["staticTest"]();

        }
}



下面是静态属性的方法和类

程序代码 程序代码

/**
 * @(#)StaticClass.as
 * 
 * @author soda.C  E-mail:sujun10@21cn.com
 * @version 1.0
 * <br>Copyright (C), 2007 soda.C
 * <br>This program is protected by copyright laws.
 * <br>Program Name:Soda.API
 * <br>Date:2008-4-24
 */
package org.sujun
{
    public class StaticClass 
    {
        public static var name:String = "soda";
        
        public static function staticTest():void
        {
            trace("staticTest");
        }
        
        public function test():void
        {
            trace("test");
        }
    }
}


你复制那里代码就可以,很简单,呵呵
下载文件代码下载

阅读更多
换一批

没有更多推荐了,返回首页