java中如何将一个字符串当作model名称来声明对象
比如现有Stringcname="Student";我想要的是Studentstudent=newStudent();最后得到Student的对象student求教怎么做...
比如现有 String cname="Student";
我想要的是 Student student =new Student();
最后得到Student的对象student 求教怎么做
在线坐等答案那 展开
我想要的是 Student student =new Student();
最后得到Student的对象student 求教怎么做
在线坐等答案那 展开
2个回答
展开全部
Student student = Class.forName(cname);
是这种吗 通过反射获得对象的实例,虽然感觉这样没啥意义 ,希望能帮到楼主
是这种吗 通过反射获得对象的实例,虽然感觉这样没啥意义 ,希望能帮到楼主
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Class c = Class.forName("com.test.Student");
Student object = (TestClass)c.newInstance();
object.method();
Student object = (TestClass)c.newInstance();
object.method();
追问
这个不是我需要的 "Student"是当作一个参数传过来的,我知道传来的字符穿肯定是一个model的名称,然后就根据这个字符串 得到对象
追答
你这么写:
首先写一个父类(可以是抽象类)AAA,然后Student继承AAA
try {
Class clazz = Class.forName("com.test.Student");
AAA obj = (AAA) clazz.newInstance();
obj.method();
} catch (Exception e) {
e.printStackTrace();
}
obj没法直接调用Student中的方法,但可以调用AAA中的,只要继承后重写一下就行了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询