java中如何通过一个字符串来实例化一个类并调用其中方法
6个回答
展开全部
1、建立一个xml配置文件,将字符串和对应的类的全路径配置到xml文件中
例:
<bean>
<service id="您的字符串" class="您的类全路径(包名加类名)"/>
</bean>
2、使用xml解析技术可以得到您的字符串对应的类,方法有多中,小文件推荐使用dom4j,大文件使用sex。
3、使用反射技术获得类的实例
例:
Object object=Class.forName("您的字符串对应的类全路径").newInstance();
4、相关知识点:只要合理的用好这些知识点,就可以建立一个baseFactory类,作为项目的工厂类生产项目需要的各种类。这其实也算是抽象工厂的实现。
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是这个意思不?
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);
}
}
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);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用反射可以实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道具体的包名很明显是不行,需要实例化必须知道报名类名才行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询