【急求java高手】我没拿到一个类的引用,怎么调用他里面的方法
来源:百度知道 编辑:UC知道 时间:2024/08/22 05:19:41
反射机制?但是最后还得 用他的引用啊。
汗。。都怪我没说明白
1.我想做个报务系统,我有时候要添加报纸,只能改代码,发布,重启服务器
2,我想改一下这种传统方法。比如:写好一份报纸的类,把他的 名字放到数据库里。
然后,读库,然后拿到类的名字,然后调用类里的方法。
3,我能拿到类的名字,和类的对象,和类的方法的名字(反射机制),但我怎么拿到他的引用么(肯定拿不到,因为要导入包,还是要改代码),所以我想掉他的方法,不知道可以不?
spring 不行啊,spring是有对象才能注入,我这啥都没有啊
汗。。都怪我没说明白
1.我想做个报务系统,我有时候要添加报纸,只能改代码,发布,重启服务器
2,我想改一下这种传统方法。比如:写好一份报纸的类,把他的 名字放到数据库里。
然后,读库,然后拿到类的名字,然后调用类里的方法。
3,我能拿到类的名字,和类的对象,和类的方法的名字(反射机制),但我怎么拿到他的引用么(肯定拿不到,因为要导入包,还是要改代码),所以我想掉他的方法,不知道可以不?
spring 不行啊,spring是有对象才能注入,我这啥都没有啊
用class.getInstance("")
这个用Spring相当简单啦,Spring的卖点就在依赖注入这块,你说的这种情况实际就是DI(依赖注入)。用Spring获取类的实例,它有个方法叫getBean("类名"),接下来就简单了,你吧读出来的类名传进去,就得到了这个类的实例..,前提是在Spring的xml配置文件里对这个类进行了描述即可。
关于你说的第三条,也好办,拿到对象 Object o = getBean("xxx"); 然后用o来判断它是那种类型就行了,麻烦的是你要把所有的类型都判断到了,用if else
if(o.instanceof("String")){
String s = (String)o;
}else if(o.instanceof("Integer")){
Integer i = (Integer)o;
}
除非它是静态方法就可以直接用 类名.方法名 来调用,如果不在同一个包路径里,那还是要导入的。否则不行
没太明白你的意思,用继承吧,能说的详细点吗
要不就是把那方法置成static的,不用new,直接"类名.方法名()"
你是这个意思吗?
没set get方法?