java中如何通过一个字符串来实例化一个类并调用其中方法

例如"className.methodName" 不知道具体包名.
2024-12-13 00:20:38
推荐回答(3个)
回答1:

1、建立一个xml配置文件,将字符串和对应的类的全路径配置到xml文件中

例:



2、使用xml解析技术可以得到您的字符串对应的类,方法有多中,小文件推荐使用dom4j,大文件使用sex。

3、使用反射技术获得类的实例

例:

Object object=Class.forName("您的字符串对应的类全路径").newInstance();

4、相关知识点:只要合理的用好这些知识点,就可以建立一个baseFactory类,作为项目的工厂类生产项目需要的各种类。这其实也算是抽象工厂的实现。

回答2:

java反射机制可以实现对象的动态创建。

具体可以参考下面的:
http://blog.csdn.net/wgw335363240/article/details/6594730

回答3:

是这个意思不?
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);
}

}