java 如何由字符串得到和字符串同名的类

就是通过参数传入了一个字符串想在方法里面得到和该字符串同名的类的引用voidmethod(Stringclassname){假如classname=“Print”我想能够... 就是通过参数传入了一个字符串 想在方法里面得到和该字符串同名的类的引用
void method(String classname){
假如classname=“Print”
我想能够通过这个字符串得到Print这个类得引用 或者一个实例

}
展开
 我来答
寻麋儿
2015-05-29 · TA获得超过637个赞
知道小有建树答主
回答量:232
采纳率:100%
帮助的人:221万
展开全部
利用java的反射技术,Class.forName(String className),参数是字符串类型 往里面传入类名 ,就会在内存中加载对应的类的字节码文件,然后再调用newInstance()方法,就能创建该类的实例对象.
ltforyou
推荐于2017-10-10 · TA获得超过257个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:124万
展开全部
这个就是工厂设计模式了.
class.forName是可以完成你的需求的
public static Object getBeans(String name) {
Object obj = null;
String className = ps.getProperty(name); //如果你没有用配置文件可以不要这一句
try {
Class c = Class.forName(className);//直接写Class.forName("className")
try {
obj = c.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return obj;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l386568639
推荐于2017-09-19 · TA获得超过339个赞
知道小有建树答主
回答量:388
采纳率:90%
帮助的人:119万
展开全部
可以用反射
package com.conduct.dao;
public class Test {
public static void main(String[] args) {
try {
System.out.println(Class.forName("com.conduct.dao.Test1").newInstance());
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Test1{ }
这个输出的就是 com.conduct.dao.Test1@18dd7404
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牛长旭0Fk
2011-07-30 · 超过18用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:54.6万
展开全部
自己查一下Class.forName()的用法吧。需要完整的类路径(xx.yy.Print),不能单是类名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-30
展开全部
Class class = Class.forName("Print");
Print p = class.newInstance();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式