java中如何通过一个字符串来实例化一个类并调用其中方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何通过一个字符串来实例化一个类并调用其中方法相关的知识,希望对你有一定的参考价值。
例如"className.methodName" 不知道具体包名.
1、建立一个xml配置文件,将字符串和对应的类的全路径配置到xml文件中
例:
<bean><service id="您的字符串" class="您的类全路径(包名加类名)"/>
</bean>
2、使用xml解析技术可以得到您的字符串对应的类,方法有多中,小文件推荐使用dom4j,大文件使用sex。
3、使用反射技术获得类的实例
例:
Object object=Class.forName("您的字符串对应的类全路径").newInstance();4、相关知识点:只要合理的用好这些知识点,就可以建立一个baseFactory类,作为项目的工厂类生产项目需要的各种类。这其实也算是抽象工厂的实现。
参考技术A java反射机制可以实现对象的动态创建。具体可以参考下面的:
http://blog.csdn.net/wgw335363240/article/details/6594730 参考技术B 是这个意思不?
public class test
public static void main(String[] args)
try
// Class.forName中如果类在其他包下,则些全路径
Class xmlmenu = Class.forName("testB");
// newInstance()创建此 Class 对象所表示的类的一个新实例。
testB b = (testB) xmlmenu.newInstance();
b.getStr();
catch (Exception e)
e.printStackTrace();
class testB
private String str = "abcd";
public void getStr()
System.out.println(this.str);
本回答被提问者采纳 参考技术C 使用反射可以实现。 参考技术D 不知道具体的包名很明显是不行,需要实例化必须知道报名类名才行
以上是关于java中如何通过一个字符串来实例化一个类并调用其中方法的主要内容,如果未能解决你的问题,请参考以下文章