java中如何通过一个字符串来实例化一个类并调用其中方法
答案:6 悬赏:0 手机版
解决时间 2021-01-24 15:49
- 提问者网友:雾里闻花香
- 2021-01-24 07:46
java中如何通过一个字符串来实例化一个类并调用其中方法
最佳答案
- 五星知识达人网友:第幾種人
- 2021-01-24 09:23
1、建立一个xml配置文件,将字符串和对应的类的全路径配置到xml文件中
例:
2、使用xml解析技术可以得到您的字符串对应的类,方法有多中,小文件推荐使用dom4j,大文件使用sex。
3、使用反射技术获得类的实例
例:
Object object=Class.forName("您的字符串对应的类全路径").newInstance();4、相关知识点:只要合理的用好这些知识点,就可以建立一个baseFactory类,作为项目的工厂类生产项目需要的各种类。这其实也算是抽象工厂的实现。
例:
3、使用反射技术获得类的实例
例:
Object object=Class.forName("您的字符串对应的类全路径").newInstance();4、相关知识点:只要合理的用好这些知识点,就可以建立一个baseFactory类,作为项目的工厂类生产项目需要的各种类。这其实也算是抽象工厂的实现。
全部回答
- 1楼网友:躲不过心动
- 2021-01-24 13:37
java反射机制可以实现对象的动态创建。
具体可以参考下面的:
http://blog.csdn.net/wgw335363240/article/details/6594730
具体可以参考下面的:
http://blog.csdn.net/wgw335363240/article/details/6594730
- 2楼网友:拜訪者
- 2021-01-24 12:13
请好好去研读一下java反射呵呵
- 3楼网友:往事埋风中
- 2021-01-24 11:50
不知道具体的包名很明显是不行,需要实例化必须知道报名类名才行
- 4楼网友:西岸风
- 2021-01-24 11:39
使用反射可以实现。
- 5楼网友:梦中风几里
- 2021-01-24 10:40
是这个意思不?
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);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯