我现在有一个类A,A中有一段初始化静(static)态区域,A中若干重要static方法,例如public static void doSth()。
我想在类B中,设定一个Map<Integer, String> classNamesMap,里面是一个<整数参数,带包前缀的类名字符串>,如何通过指定指定一个整数参数,获取到类A,在B类中通过调用A.doSth();来完成指定的功能?谢谢。
补充一点:我不想获取到类A的实例。
我想在类B中,设定一个Map<Integer, String> classNamesMap,里面是一个<整数参数,带包前缀的类名字符串>,如何通过指定指定一个整数参数,获取到类A,在B类中通过调用A.doSth();来完成指定的功能?谢谢。
补充一点:我不想获取到类A的实例。
解决方案 »
- 继承的疑惑
- 我用jotm + tomcat5 + jdk5 + sqlserver +msjdbc做jta总是运行一段时间就报告这个错误!
- 再开贴送分,把分全部送光!散分贴,上午结贴!!
- JAVA连接SQL SERVER的问题?请高手帮忙解决
- 想用JAVA实现个视频聊天室,大家有资料么
- Hibernate中的Boolean映射问题!!急啊!!!
- 请问哪有b/s资料,关于三层架构资料,有什么好的书推荐?
- 如何实现用JAVA生成动态的gif文件,例如里面的文字会闪动的那种?
- 关于JFileChooser的问题
- 初学者的问题:JBuilder4中,输入时,光标为何总在输入的后两个字符处?
- 新手看到一个很好的帖子后有了两个问题
- 小弟是菜鸟,谁能给小弟解释一下?
package.A.doSth();
a.getDeclaredMethod("doSth",null).invoke(null, null);
package.A.doSth();
首先在B类中有个map容器,你通过索引取得A类的包名和类名
用Class.forName()获取A类的类对象
Class a = Class.forName(classNamesMap.get(1));
然后用反射机制中调用类对象中的方法可实现:
a.getDeclaredMethod("doSth",null).invoke(null, null);