Java反射
反射主要有两大知识点:
- Class对象的三种获取方式;
- Method、Field、Constructor的获取与使用
Class对象的三种获取方式
- Class.forName(带包名的类名)
- 类名.class
- 实例对象.getClass()
Class clazz1 = Class.forName("test6.ClassA");
Class clazz2 = ClassA.class;
Class clazz3 = classA.getClass(); //classA 是ClassA的实例对象
Method、Field、Constructor的获取与使用
获取
- clazz.getMethod() clazz.getDeclaredMethod()
- clazz.getField() clazz.getDeclaredField()
- clazz.getConstructor() clazz.getDeclaredConstructor()
带Declared的方法可以获取私有的方法/成员变量/构造器