[AS3]在反射中使用静态方法
2008-05-11 13:00
232 查看
个人比较喜欢用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");
}
}
}
你复制那里代码就可以,很简单,呵呵
代码下载
在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");
}
}
}
你复制那里代码就可以,很简单,呵呵
代码下载
相关文章推荐
- AS3静态代码块的初始化使用方法
- java利用反射实例化类、使用类中普通方法、使用类main(静态)方法
- Java中使用反射调用静态方法
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- 使用反射调用类静态方法
- 静态方法中无法使用协同程序
- C#静态方法使用经验浅谈
- MFC-为子窗体/子窗口的静态控件的特定位置/区域 增加提示/tips信息 使用自绘方法
- Struts2 标签不能使用静态方法的原因
- Java 中的 static 使用之静态方法
- java中static使用之静态方法注意点
- net技术中"反射"的使用方法
- FusionCharts使用教程四:调用静态方法RenderChart
- AndroidJNI实践(1)-使用.h头文件-静态注册JNI方法
- 使用C++创建蓝图公共静态方法
- VS2013中编译项目在静态库中使用MFC出现错误的解决方法
- C++类中静态变量和静态方法使用介绍!
- 反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性、字段),而不去使用Invoke方法)
- 转:Spring使用静态工厂方法创建Bean
- 类的静态成员变量和静态成员函数的使用方法三