反射
通过Class获取字节 码文件对象,使用字节码文件对象来获取类的一些描述信息
一. 获取字节码文件对象
- 方式有三种:
1.Object的getClass方法
Student s1 = new Student();
Student s2 = new Student();
Class<? extends Student> class1 = s1.getClass();
Class<? extends Student> class2 = s2.getClass();
System.out.println(class1==class2);//结果为true
2.通过数据类型的静态属性 class属性
Class<?> c1=Student.class;
System.out.println(c1==class1);//结果为true
3.Class类中一个静态方法
Properties pro = new Properties();
pro.load(new FileReader(new File("pro.txt")));
Class<?> class3=Class.forName(pro.getProperty("studentName"));
System.out.println(class3==c1);//结果为true
二.反射获取构造方法并且创建对象
- 获取方法:
1.Constructor<?>[] getConstructors() // 获取公有修饰的构造方法对象
Constructor<?>[] constructors = c.getConstructors();
for (Constructor<?> constructor : constructors) {
System.out.println(