反射和动态类方法调用,你选择哪个?
大致描述一下我遇到的情况,请大家帮忙耐心看看:)
在方法X里,需要通过变量type来决定调用某个类的dispatch()方法。具体调用哪个类
的dispatch()方法,是根据type决定的。这些类的dispatcher()方法的参数和返回值
是一样的。于是想到把这些类作一个接口
|
每个具体的Handler类实现这个接口。
在方法X中先解析一个XML配置文件,大致如下:
|
根据这个xml文件的type决定具体的Handler类。
方法X大致如下:
|
这样作应该没有问题。但方法X是所有访问的入口,因此可能会在短时间内调用多次,
每次都new一个具体的Handler,我觉得开销太大(是不是这样??),因此我想把
Handler的dispatch()方法做成静态方法,然后用反射机制调用。但我试了,发现
静态方法不能重载,因此不能用接口,只能把具体的Handler类写成互不关联的类,
只是恰好要调用的方法名相同罢了。
不知道上面分析的是否正确,请大家指导指正!
另外,哪位能够提供 利用反射机制调用一个类的静态方法的函数实现。谢谢!:)
方法名如下:
|