如何使用Java的反射机制以及调用构造方法?
关于如何使用Java的反射机制,兆隆IT云学院的java高级实用技术的课本中是这样的描述的:
1、获取想要操作类的java.lang.Class对象。
每个类被加载后,系统就会为该类生成一个对应的Class对象,class对象就可以访问java虚拟机中的这个类,获取class对象的方式有三种。分别是:
1)调用某个对象的getclass()方法.
例如:person person=new person();Class cla=person.getclass()
2)调用某个类的class属性来获取该类对应的class对象
例如:Class cla=Person.class;
3)使用class类的forName()静态方法
例如:class cla=Class。ForName(“
com.xa.zledu.classinfo.person”)
2、调用class的方法
调用构造方法
1、getConstructor(class[]params)
作用:返回此class对象所表示的类的指定的public构造方法。
例如:Constructor c=cla.getConstructor(string.class,String.class,Integer.class)
2、getConstructors
作用:返回此class对象所表示的类的所有public构造方法。
例如:Constructor[]arrc=cla.getConstructors()
3、getDeclaredConstructor(class[]params)
作用:返回此class对象所表示的类的指定的构造方法,与构造方法的访问级别无关。
例如:Consteuctor c=
cla.getDeclaredconstructor(string.class,string.class,Integer.class)
4、getDeclaredConstructors()
作用:返回此class对象所表示的类的全部构造方法。
例如:Constructor[]arrc=
cla.getDeclaredConsteructors();
注意:如果在方法中添加Declared表示这个方法不会考虑访问级别。