nynw.net
当前位置:首页 >> jAvA中如何通过一个字符串来实例化一个类并调用其... >>

jAvA中如何通过一个字符串来实例化一个类并调用其...

1、建立一个xml配置文件,将字符串和对应的类的全路径配置到xml文件中 例: 2、使用xml解析技术可以得到您的字符串对应的类,方法有多中,小文件推荐使用dom4j,大文件使用sex。 3、使用反射技术获得类的实例 例: Object object=Class.forName("...

可以用到java反射机制,Class和Method这些类。 动态调用的方法:a.getClass().getMethod(str, new Class[]{}).invoke(a, new Object[]{}) 其中,a为类的对象,str为要被调用的方法名 。 1、a.getClass()得到a.class 对象 ; 2、getMethod(str, n...

如果想要调用某个已经实例化的对象,那么只有把那个对象的引用传到你当前对象才可能,不然没办法,或者说你只需要那个类的方法,那你在代码里面创建一个新对象调用就好了。 你报错是因为你在对象本身创建一个自己的对象,实际上进入了死循环了,...

反射?

这是一种内部类机制, 内部类分为两种,一种是静态内部类,一种是非静态内部类。前者不用产生外部类的实例化对象即可产生内部类的实例化对象,后者必须先产生外部类的实例化对象,才能产生内部类的实例化对象。 实例化静态内部类对象的模板是: ...

看有没有参数,无参就直接c.newInstance(); 有参数就用构造器的newInstance(参数); 调用方法的话先用c.getMethod(,)得到方法 ,再用得到的method执行 针对你这个具体的,代码就是 Class c=Class.forName("com.action.Test2"); Object test = c.n...

没有包名怎么行呢?如果有几个相同的类名的类,该怎么区分呢。如果有报名的话可以用反射: Class clazz = Class.forName("com.Test");//包名.类名 Method method = c.getMethod("test", String.class);//方法名,和参数的类对象 method.invoke(cl...

String t = "com.test.A"; 或者是A的子类 A a = (A)Class.forName(t).newInstance();

menu这个对象你用add()函数添加了内容 但是menus 这个对象你并没有添加,是空的哦

所谓泛型集合,你只要指定型就可以了 List itemList=new ArrayList(); List itemList=new ArrayList(); List itemList=new ArrayList();

网站首页 | 网站地图
All rights reserved Powered by www.nynw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com